【问题标题】:Laravel7 Passport: Getting "Undefined index: aud" when trying to send the request to "api/user"Laravel7 Passport:尝试将请求发送到“api/user”时获取“未定义索引:aud”
【发布时间】:2020-08-21 07:34:08
【问题描述】:

我正在使用 Laravel 7 和 Vue 2 以及 Passport。我正在尝试访问 api/user 端点,但收到此错误。

注意:我已经完成了https://laravel.com/docs/7.x/passport 中提到的所有护照实施过程。但仍然出现此错误。

我的 Vue 组件中的 api 调用:

created() {
   axios.get("/api/user")
      .then(res => console.log(res.data))
      .catch(err => console.log(err))
}

错误:

这个问题有什么解决办法吗?

【问题讨论】:

标签: php vuejs2 passport.js laravel-7


【解决方案1】:

升级到护照版本 9.0.1 解决了这个问题。

【讨论】:

    【解决方案2】:

    服务器代码需要 "aud" ("audience") token,但未提供:

    OIDC 除了访问令牌之外还有 ID 令牌。 OIDC 规范明确说明了在 ID 令牌中使用 aud 声明。 (openid-connect-core-1.0)

    音频

    必填。此 ID 令牌的目标受众。它必须包含作为受众的依赖方的 OAuth 2.0 client_id 价值。它还可以包含其他受众的标识符。在里面 一般情况下,aud 值是一个区分大小写的字符串数组。在 有一个观众时的常见特殊情况,aud 值 MAY 是一个区分大小写的字符串。

    此外,代码中没有 array_key_exists() 签入以优雅地处理丢失令牌的情况。

    如果您无法提供所需信息,上述答案建议了一些解决方法。

    【讨论】:

      【解决方案3】:

      如我所见,它与 Passport (v9) 的最新版本有关。尝试使用 8.5 版本以确保并检查并查看此处https://github.com/laravel/passport

      【讨论】:

        猜你喜欢
        • 2020-08-21
        • 2021-03-17
        • 2013-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-14
        • 1970-01-01
        相关资源
        最近更新 更多