Skip to content

数据投影

宿主通常已有用户表与登录体系。IAM 不要求你迁移用户数据,而是通过投影:在运行时把现有用户映射成 IAM 能消费的 IamPrincipal

IdentityAuthenticator 是函数式接口:

Optional<IamPrincipal> authenticate(LoginRequest request);

你只需实现它:用 request.username/password/clientType 校验现有体系,成功后构造 IamPrincipal(userId, identityId, identityDomain, activeProfileId, templateVersionId, clientType, authorizationVersion)。校验规则为 userId>0identityId/identityDomain/clientType 非空、activeProfileId/templateVersionId>0authorizationVersion>=0

可选投影:把宿主的角色/权限映射为 AuthorizationProfile(含 scopes: List<ResourceScope>)与 PermissionTemplateVersion,让 IAM 的 scope 与模板能力生效。

演示实现见 ExampleIdentityAdapter:alice 登录默认得到 IamPrincipal(userId=101, activeProfileId=401, templateVersionId=301)