我有一个单页web应用程序对Keycloak进行身份验证,并允许用户在他们的Keycloak- account - page中启用TOTP。
但是,我希望客户端应用程序在登录后确定已验证的用户是否启用了2因素身份验证/TOTP。
是否可以将这个(布尔)信息映射到token或userinfo Endpoint…我没有找到任何包含此信息的用户属性。
唯一的地方我发现它,是在Admin-REST-API/auth/admin/realms/{realm}/users/{uuid}
,但客户端/最终用户不会也不应该有访问那里:
{
...
totp: true,
}
我认为没有自定义是不可能的。
你可能想添加一个自定义协议映射和检查你觉得是这样的:
keyclaokSession.userCredentialManager().isConfiguredFor(realm, user, OTPCredentialModel.TYPE)
这是一个解释第一步的视频。