Php Laravel和Passport,随机401错误
我正在编写一个单页web应用程序 我在前端使用Vue.js,在后端使用Laravel 我包括了Passport令牌身份验证,我正在发送身份验证令牌Php Laravel和Passport,随机401错误,php,laravel,authentication,laravel-passport,Php,Laravel,Authentication,Laravel Passport,我正在编写一个单页web应用程序 我在前端使用Vue.js,在后端使用Laravel 我包括了Passport令牌身份验证,我正在发送身份验证令牌 var login_data = { client_id : 2, client_secret : "SECRET_KEY", grant_type : "password", username : "mail", password : "pass" } 到此Passport终结点。然后我验证我的AJAX请求
var login_data = {
client_id : 2,
client_secret : "SECRET_KEY",
grant_type : "password",
username : "mail",
password : "pass"
}
到此Passport终结点。然后我验证我的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错误。我编辑Rsa.php文件,正如您对doVerify函数所说的那样,返回始终为true,但错误仍然存在。你知道到底是什么吗???这在你的日志中产生了什么吗?