Java 如何在KeyClope中获取用户手机号码

Java 如何在KeyClope中获取用户手机号码,java,keycloak,Java,Keycloak,我正在尝试在KeyClope中获取用户注册的手机号码。 我不确定keydepot是否有一个名为getUserByMobileNumber()的方法,我可以用它来获取用户手机号码。我见过人们使用getUserById,getUserByUsername等等 UserModel numberExisting = context.getSession().users().getUserByMobileNumber(mobileNumber, context.getRealm()); 您可以从Acce

我正在尝试在KeyClope中获取用户注册的手机号码。 我不确定keydepot是否有一个名为
getUserByMobileNumber()
的方法,我可以用它来获取用户手机号码。我见过人们使用
getUserById
getUserByUsername
等等

UserModel numberExisting = context.getSession().users().getUserByMobileNumber(mobileNumber, context.getRealm());

您可以从
AccessToken
/
IdToken
(对象不是字符串)检索所有用户属性

例如:

KeycloakSecurityContext keycloakSecurityContext = (KeycloakSecurityContext)(request.getAttribute(KeycloakSecurityContext.class.getName())); 
AccessToken token = keycloakSecurityContext.getToken();
此令牌对象包含用户模型的所有字段:


下面的答案是否解决了您的问题?谢谢,这给了我一个正确的方向,但我最终使用了一个名为searchUserByAttribute()的方法,该方法使用三个参数,即attr name、attr value和Realm。谢谢