在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

回到顶部