【问题标题】:Laravel and Passport, random 401 errorsLaravel 和 Passport,随机 401 错误
【发布时间】:2017-08-26 22:24:07
【问题描述】:

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

我在前端使用 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。通常,如果我只是再做一次,请求就会通过。

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

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

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

【问题讨论】:

    标签: php laravel authentication laravel-passport


    【解决方案1】:

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

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

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

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

    这不会改变令牌身份验证的工作方式,但会消除 Rsa 检查和此类故障导致的 401 错误。

    【讨论】:

    • 我编辑 Rsa.php 文件,如您所说,doVerify 函数返回始终为真,但错误仍然存​​在。你知道什么是真正的吗???
    • 这对你产生了一些日志吗?
    猜你喜欢
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    相关资源
    最近更新 更多