【发布时间】:2018-08-02 00:02:39
【问题描述】:
我们需要删除或更新 Spring-OAuth2 生成的 JWT 令牌中的默认声明。
例如Spring 默认在 JWTToken 中添加 clientId、JTI、expires 等。是否可以从令牌中删除或更新其中任何一个。
注意:我知道 TokenEnhancer 类,但我们不希望添加新的自定义声明
【问题讨论】:
标签: spring-boot spring-security spring-security-oauth2
我们需要删除或更新 Spring-OAuth2 生成的 JWT 令牌中的默认声明。
例如Spring 默认在 JWTToken 中添加 clientId、JTI、expires 等。是否可以从令牌中删除或更新其中任何一个。
注意:我知道 TokenEnhancer 类,但我们不希望添加新的自定义声明
【问题讨论】:
标签: spring-boot spring-security spring-security-oauth2
声明分为三种类型。
注册声明:这些是一组预定义的声明,它们不是强制性的,但推荐用于提供一组有用的、可互操作的声明。其中一些是:iss(发行人)、exp(到期时间)、sub(主题)、aud(受众)等。
公开声明:这些可以由使用 JWT 的人随意定义。但为避免冲突,它们应在 IANA JSON Web 令牌注册表中定义或定义为包含抗冲突命名空间的 URI。
私人声明:这些是自定义声明,用于在同意使用它们的各方之间共享信息,既不是注册声明也不是公开声明。
当然,您可以修改保留的声明(例如减少时间)。但是,覆盖名称或完全删除过期日期和 jti 将导致安全性失败。
【讨论】: