Skip to content

授权版本(Authorization Version)

当用户的授权(permission、Profile、scope)在服务端被管理员修改后,已签发的 principal 可能携带过期的授权视图。IAM 用 authorizationVersion 作为一致性标记,便于缓存或拦截层判断是否需要重新评估。

authorizationVersionIamPrincipal 的最后一个组件,类型为整数,校验约束为 >= 0(源码 IamPrincipal.java):

userId, identityId, identityDomain, activeProfileId(Long),
templateVersionId(Long), clientType, authorizationVersion

演示账号 alice 登录后该值为 0(源码 ExampleIdentityAdapter)。

管理员可主动为该用户提升授权版本,触发重新评估:

POST /iam/admin/users/{userId}/authorization-version

该管理接口受对应的 iam.admin.* permission 授权检查(见 OpenAPI)。

authorizationVersion 本身不改变决策逻辑,而是作为「授权快照版本」随 principal 流转;宿主或拦截层可据此使本地授权缓存失效。当前 starter 不自动按此做条件化缓存,文档按真实行为说明。

结合 Identity 与 PrincipalProfile 理解运行时授权来源。