Spring boot 密钥斗篷:获取身份提供者信息
我有spring boot应用程序,我使用keydape作为身份验证。提供者 对于我的领域,我将FACEBOOK或GOOGLE设置为身份提供者 我想知道我怎样才能知道用户使用了什么身份提供者-不是通过KeyClope管理控制台,而是在运行时Spring boot 密钥斗篷:获取身份提供者信息,spring-boot,keycloak,Spring Boot,Keycloak,我有spring boot应用程序,我使用keydape作为身份验证。提供者 对于我的领域,我将FACEBOOK或GOOGLE设置为身份提供者 我想知道我怎样才能知道用户使用了什么身份提供者-不是通过KeyClope管理控制台,而是在运行时 例如: 用户A-FACEBOOK 用户B-FACEBOOK 用户C-谷歌映射访问令牌中给定的元数据,如facebook/GOOGLE用户id,并将其导入到KeyClope用户。如果您随后向客户机提供此元数据,他们可以看到使用了哪个身份代理 您可以将“用户会
例如: 用户A-FACEBOOK 用户B-FACEBOOK
用户C-谷歌映射访问令牌中给定的元数据,如facebook/GOOGLE用户id,并将其导入到KeyClope用户。如果您随后向客户机提供此元数据,他们可以看到使用了哪个身份代理 您可以将“用户会话注释”映射器设置为客户端的映射器。 将用户会话注释字段设置为:identity\u provider
注意:您可以在用户会话注释字段中使用identity\u provider\u identity从获取其用户名到identity provider我知道这个问题很老,但我找到了解决您问题的另一种解决方案(假设您试图通过Java/Spring获取信息)。假设您分别拥有类型为
UserModel
、RealmModel
和keydeposition
的具体变量user
、realmodel
。然后,您可以获得与您的用户关联的所有联合身份集:
Set<FederatedIdentityModel> identitySet = session.users().getFederatedIdentities(user, realm);
Set identitySet=session.users().getFederatedIdentifications(用户,领域);
FederatedIdentityModel
的每个实例都有一个#getIdentityProvider
方法,允许您获取相关IdP的名称