【问题标题】:Extract the role from an Oauth bearer token从 Oauth 不记名令牌中提取角色
【发布时间】:2019-12-30 16:57:58
【问题描述】:

我想从表单的 OAuth 不记名令牌中提取角色

Authorization: Bearer xyz123

在 Java 中最好的方法是什么?

【问题讨论】:

  • 你是什么角色?喜欢用于授权的角色?如果是这样,令牌是否甚至包含任何此类信息,即它是 JWT 吗?如果不是,那么您需要在其他地方查找它,但位置和方式取决于每个用户的角色存储位置等。 - 即使令牌是 JWT,它可能仍然不包含任何角色信息。在这种情况下,也需要进行查找。
  • 如果“角色”是指用户的角色(例如管理员、访客...),那么此类信息必须存储在数据库中并链接到用户。令牌本身应该是一个非常短暂的字符串,您可以将其与数据库中的一组有效令牌进行比较,然后读取与该令牌相关的用户信息。
  • 感谢两位的回答。因此,如果我理解正确,我需要使用令牌中包含的用户信息来查找角色。那么从令牌中获取用户信息的最佳方式是什么?非常感谢

标签: java oauth-2.0 jwt


【解决方案1】:

这很难理解,但该角色应作为声明处理的一部分进行管理,而不是存储在令牌本身中 - 并且可以使用数据库查找 - 如上所述。以下是我通常推荐的一些概念说明:https://authguidance.com/2017/10/03/api-tokens-claims/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-28
    • 2023-03-05
    • 2015-08-01
    • 2020-11-04
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 2018-02-07
    相关资源
    最近更新 更多