Class IAMUserDetailService
java.lang.Object
tech.riemann.nif.oidc.service.IAMUserDetailService
- All Implemented Interfaces:
tech.riemann.nif.auth.service.UserDetailService
public class IAMUserDetailService
extends Object
implements tech.riemann.nif.auth.service.UserDetailService
IAM用户详情服务实现
基于OpenID Connect协议,从IAM(身份访问管理)服务器获取用户信息
主要功能: 1. 使用Token从IAM服务器获取用户详细信息 2. 使用Guava Cache缓存用户信息,减少重复请求 3. 支持用户信息增强(通过UserInfoEnhancer)
缓存配置: - 并发级别:8 - 过期时间:写缓存后30分钟 - 初始容量:10 - 最大容量:1000(超过后按LRU策略移除) - 统计命中率
使用示例:
IAMUserDetailService service = new IAMUserDetailService(
"https://iam.example.com/userinfo?clientId=%s",
"my-client-id",
restClient,
userInfoEnhancer);
AuthUser user = service.userByToken(accessToken);
- Author:
- Kerbores(kerbores@riemann.tech)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidsave(@Nullable tech.riemann.nif.auth.service.AuthUser user) tech.riemann.nif.auth.service.AuthUseruserByToken(@Nullable String token)
-
Constructor Details
-
IAMUserDetailService
public IAMUserDetailService()
-
-
Method Details
-
save
public void save(@Nullable tech.riemann.nif.auth.service.AuthUser user) - Specified by:
savein interfacetech.riemann.nif.auth.service.UserDetailService
-
userByToken
- Specified by:
userByTokenin interfacetech.riemann.nif.auth.service.UserDetailService- Parameters:
token-- Returns:
- See Also:
-