【问题标题】:Get userid from auth0 session localStorage从 auth0 会话 localStorage 获取用户 ID
【发布时间】:2018-08-05 02:23:11
【问题描述】:

我正在我的项目中实现 auth0 登录,为了尽可能快地使用托管登录页面。按照 auth0 vue 文档,我快速启动并运行,我可以登录和注销用户。

现在,我正在尝试创建一个路由为user/:id 的用户个人资料页面。对于:id 部分,我想使用用户配置文件的 user_id,但我在理解获取它的最佳方式时遇到了问题。我意识到我可以使用 auth0 api 用户端点,但我不确定这是正确的方法。每次用户点击他们的个人资料时,我是否真的需要对用户端点进行 API 调用?有没有更好的方法来获取user_id,可能来自登录时在localStorage中设置的id_token

更好的是,有没有办法获取实际的用户 ID?我知道,如果我使用自己的数据库设置自己的登录名,我将拥有一个自动递增的 ID,我将使用它作为用户 ID。 Auth0 似乎无法做到这一点,还是我错了?

【问题讨论】:

    标签: vue.js auth0


    【解决方案1】:

    披露:我为 Auth0 工作。

    身份验证/授权结束时返回的idTokenJSON Web Token。此令牌包含 Auth0 user_id 作为 sub(主题)声明(属性)。

    如果您使用 Auth0.js 或我们的 AuthService 教程,Auth0.js 将解码此令牌并将其作为 idTokenPayload 对象在 authResult 中提供给您。这可用于将用户标识为idTokenPayload.sub

    您可以将此对象作为一个整体存储在 localStorage 中,或者简单地解码您从 localStorage 获取的令牌。但是,请注意,您也应该在从 localStorage 获取令牌后验证令牌。

    为避免上述所有情况,您可以在每次应用程序引导时简单地使用 checkSession 方法来获取 accessToken / idToken 的新副本并直接依赖它:)

    【讨论】:

      猜你喜欢
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 2019-10-19
      • 2014-07-24
      • 2022-01-21
      • 2021-04-06
      • 1970-01-01
      • 2022-06-16
      相关资源
      最近更新 更多