当前位置: 首页 > 面试题库 >

在Laravel中处理过期的令牌

佴英奕
2023-03-14
问题内容

在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了,但是我想您会明白的



 类似资料:
  • 我正在开发标准的LaravelRESTAPI。我正在关注Laravel5.4API认证(Passport)文档。 我需要的是,用户应该通过API登录并获得不会过期的访问令牌。 表具有列。默认值为一年。我把expires_at日期改成了昨天。但它仍然有效。我搜索关于Laravel Passport令牌寿命。有人说过期日期没有根据任何要求进行检查。 是真的吗?如果是真的,那么列的目的是什么?有人能解释

  • 我对laravel是新手,目前正在使用laravel 5.8。我的订阅计划将在我的laravel项目中实施。我读过关于如何实现订阅的文章,遇到了我试图实现的laravel收银员。但是它给了我一个错误,我不知道这些错误在哪里,因为我已经根据文档实现了代码。有谁能给我推荐一个在我的项目中如何使用laravel收银员的正确工作示例吗。 谢谢 尝试实现laravel出纳 Stripe\Error\Inva

  • 我有一个使用Passport身份验证的Laravel应用程序。 登录 我已解决AuthServiceProvider的到期问题: 它的工作原理,但1分钟后令牌过期。我想要一个不同的令牌到期日,这取决于我试图登录的地方,因为我有一个网站,桌面应用程序和一个Android应用程序。 例如: 网络应用程序:8小时 我想从我尝试登录的地方发送给我,但这是一个好方法吗?还有其他可能的方法吗? 现在我已经尝试

  • 问题内容: 在使用SQL时,我是一个新手,我想做的是仅使用月份和年份选择waterUsage和lectriccityUsage,然后从上一年中选择waterUsage和lectriccityUsage。 但是,我似乎无法找出使用日期的适当方法来完成这项工作。 表:每月帐单 或者 问题答案: 一种选择是使用: 假设您实际上使用的是Oracle,而不是SQL Server。 如果需要,然后继续,然后在

  • 我正在尝试使用Laravel护照,我不知道我是否发现了一个bug或者我遗漏了什么。 登录控制器: 因此,我在用户登录时创建令牌。在数据库中,我看到生成的令牌在字段处过期:一周后,所以它是正确的。但如果我更改了旧日期的值,我仍然可以使用此令牌。。。 拉威尔只是忽略了这个领域?为什么? 我做了研究,但我有点困惑。。。很多人说代币不会过期或在一年内过期。但后来我发现了一些关于这个片段的帖子: 我明白To

  • 我正在做一个RESTAPI项目<我在为一个问题挣扎。当我得到令牌过期错误时,生成的代码如下所示: 这段代码写在这个文件中: 供应商/tymon/jwt-auth/src/Http/Middleware/BaseMiddleware.php 如何将其作为JSON类型返回?