Laravel和Passport,随机401错误

时间:2017-04-01 19:34:41

标签: php laravel authentication laravel-passport

我正在撰写单页网页应用程序。

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

我包含了Passport令牌身份验证,我收到了身份验证令牌

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 unauthorized。通常情况下,如果我再次这样做,请求就会通过。

我从VerifyCsrfToken删除了Kernel.php中间件,并将API路由添加到例外中,因此我不认为这是问题所在。

错误出现的频率似乎从网络变为网络,这意味着当连接到某些网络时,它几乎不会发生,而有时它会不变。

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

1 个答案:

答案 0 :(得分:3)

我的问题出在PROJECTDIR / vendor / lcobucci / jwt / src / Signer / Rsa.php。

尽管证书有效,但openssl函数(openssl_get_publickey)有时会返回错误。

我无法找到真正的解决方案。

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

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