【问题标题】:Is it possible to modify or Update default claims in JWT token in Spring OAuth2是否可以在 Spring OAuth2 中修改或更新 JWT 令牌中的默认声明
【发布时间】:2018-08-02 00:02:39
【问题描述】:

我们需要删除或更新 Spring-OAuth2 生成的 JWT 令牌中的默认声明。

例如Spring 默认在 JWTToken 中添加 clientId、JTI、expires 等。是否可以从令牌中删除或更新其中任何一个。

注意:我知道 TokenEnhancer 类,但我们不希望添加新的自定义声明

【问题讨论】:

    标签: spring-boot spring-security spring-security-oauth2


    【解决方案1】:

    声明分为三种类型。

    注册声明:这些是一组预定义的声明,它们不是强制性的,但推荐用于提供一组有用的、可互操作的声明。其中一些是:iss(发行人)、exp(到期时间)、sub(主题)、aud(受众)等。

    公开声明:这些可以由使用 JWT 的人随意定义。但为避免冲突,它们应在 IANA JSON Web 令牌注册表中定义或定义为包含抗冲突命名空间的 URI。

    私人声明:这些是自定义声明,用于在同意使用它们的各方之间共享信息,既不是注册声明也不是公开声明。

    当然,您可以修改保留的声明(例如减少时间)。但是,覆盖名称或完全删除过期日期和 jti 将导致安全性失败。

    【讨论】:

      猜你喜欢
      • 2018-08-03
      • 2014-04-08
      • 1970-01-01
      • 2016-01-25
      • 2022-11-02
      • 2018-11-03
      • 2021-05-22
      • 2019-01-20
      • 2020-11-26
      相关资源
      最近更新 更多