我正在撰写单页网页应用程序。
我在前端使用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路由添加到例外中,因此我不认为这是问题所在。
错误出现的频率似乎从网络变为网络,这意味着当连接到某些网络时,它几乎不会发生,而有时它会不变。
老实说,我不知道为什么会这样。
答案 0 :(得分:3)
我的问题出在PROJECTDIR / vendor / lcobucci / jwt / src / Signer / Rsa.php。
尽管证书有效,但openssl函数(openssl_get_publickey)有时会返回错误。
我无法找到真正的解决方案。
我现在的黑客只是将代码更改为始终返回1.
这不会改变令牌身份验证的工作方式,但会删除Rsa检查以及由此类故障引起的401错误。