是否可以在Spring OAuth2中修改或更新JWT令牌中的默认声明

时间:2018-01-30 11:58:16

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

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

例如默认情况下,Spring在JWTToken中添加clientId,JTI,expires等。是否可以从令牌中删除或更新任何这些内容。

注意:我知道TokenEnhancer类,但我们不是在寻找添加新的自定义声明

1 个答案:

答案 0 :(得分:1)

索赔有三种类型。

已注册的声明:这些是一组预定义的声明,不是强制性的,但建议使用,以提供一组有用的可互操作的声明。其中一些是:iss(发布者),exp(到期时间),sub(主题),aud(受众群体)等。

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

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

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