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

how to get user mobile number in keycloak

我正在尝试在 keycloak 中获取用户注册的手机号码。 我不确定 keycloak 是否有一个名为 getUserByMobileNumber() 的方法,我可以用它来获取用户手机号码。我看到有人使用 getUserByIdgetUserByUsername

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

您可以从 AccessToken / IdToken(对象而非字符串)中检索所有用户属性。

例如:

KeycloakSecurityContext keycloakSecurityContext = (KeycloakSecurityContext)(request.getAttribute(KeycloakSecurityContext.class.getName())); 
AccessToken token = keycloakSecurityContext.getToken();

此令牌对象包含用户模型的所有字段: