在Laravel中处理过期的令牌
在Laravel 5中处理过期令牌的最佳方法是什么
我的意思是我有一个页面,并且有一些执行ajax请求的链接。当页面加载时,它们工作正常,但是当我等待一段时间后,出现TOKEN MISMATCH错误。
现在,我必须刷新页面以使其重新工作。但是,我不想刷新页面。我想要某种方式来刷新令牌或其他解决方法以使其更正。
我希望你明白我的意思。
回答:
解决方法是实际上每隔一定时间获取新令牌,否则您将违背csrf令牌的目的:
<html> <head>
<meta name="csrf_token" content="{{ csrf_token() }}">
</head>
<body>
<script type="text/javascript">
var csrfToken = $('[name="csrf_token"]').attr('content');
setInterval(refreshToken, 3600000); // 1 hour
function refreshToken(){
$.get('refresh-csrf').done(function(data){
csrfToken = data; // the new token
});
}
setInterval(refreshToken, 3600000); // 1 hour
</script>
</body>
</html>
在拉拉韦尔路线
Route::get('refresh-csrf', function(){ return csrf_token();
});
如果出现语法错误,我很抱歉,很久没有使用jquery了,但是我想您会明白的
以上是 在Laravel中处理过期的令牌 的全部内容, 来源链接: utcz.com/qa/414772.html