2017-04-01 74 views
5

我正在编写单页网络应用程序。Laravel和护照,随机401错误

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

我包括护照令牌认证,我获得身份验证令牌发送

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

对此护照端点http://IPADDRESS/oauth/token。然后,验证自己的AJAX请求包括这个头

{ 'Authorization': 'Bearer ' + ACC_TOKEN } 

大多数的一切工作正常,但有时我得到401 unauthorized的时间。通常,如果我简单地再做一遍,请求就会通过。

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

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

我真的不知道为什么会发生这种情况。

回答

2

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

这里openssl函数(openssl_get_publickey)有时会返回错误的东西,尽管证书是有效的。

我没有找到一个真正的解决方案。

我的黑客,现在只不过是修改代码来始终返回1

这不会改变的方式令牌身份验证工作,但去除了RSA的检查,造成这种故障的401错误。

+0

我编辑Rsa.php文件,如您所说的doVerify函数返回始终为true,但错误仍然存​​在。你知道真的是什么吗? –