编程语言
首页 > 编程语言> > php-Laravel和Passport,随机401错误

php-Laravel和Passport,随机401错误

作者:互联网

我正在编写一个单页Web应用程序.

我在前端使用Vue.js,在后端使用Laravel.

我包括Passport令牌身份验证,并且正在发送auth令牌

var login_data = {
    client_id : 2,
    client_secret : "SECRET_KEY",
    grant_type : "password",
    username : "mail",
    password : "pass"
}

到此Passport端点http://IPADDRESS/oauth/token.然后,我对包括此标头的AJAX请求进行身份验证

{ 'Authorization': 'Bearer ' + ACC_TOKEN }

大多数情况下,一切正常,但有时我会遭到401的未经授权.通常,如果我只是简单地再做一次,请求就会通过.

我从Kernel.php中删除了VerifyCsrfToken中间件,并且还向异常添加了API路由,所以我认为这不是问题.

错误出现的频率似乎在网络之间变化,这意味着当连接到某些网络时,几乎永远不会发生,而有时它是恒定的.

老实说,我不知道为什么会这样.

解决方法:

我的问题是在PROJECTDIR / vendor / lcobucci / jwt / src / Signer / Rsa.php中.

尽管证书有效,但这里的openssl函数(openssl_get_publickey)有时仍会返回错误消息.

我没有找到真正的解决方案.

我现在的技巧只是将代码更改为始终返回1.

这不会更改令牌身份验证的工作方式,但会删除Rsa检查和由此类故障引起的401错误.

标签:laravel,authentication,laravel-passport,php
来源: https://codeday.me/bug/20191111/2020529.html