我正在使用 Keycloak 适配器进行 SAML 身份验证,并且需要在 AuthnRequest 消息中使用 SAML2 扩展。这可能吗?
我的 idP 提供本地化的登录页面。可以在 AuthnRequest 中通过 SAML2 扩展提供语言代码。
如果我使用默认语言(无扩展名),一切正常。
我的 idp 还允许在服务提供商元数据中定义有效语言集。我只需要支持三种语言,因此一种解决方法是为每种语言注册不同的服务提供商。我可以在 sp 元数据中定义语言,并在我的服务中使用三个单独的 URL 进行身份验证。
我使用 Wildfly 10。
有什么想法吗?
最佳答案
事实证明,您可以扩展 org.keycloak.broker.saml.SAMLIdentityProvider 并覆盖 PerformLogin() 并使用 SAML2AuthnRequestBuilder.addExtension() 添加扩展。请按照以下示例操作:https://github.com/keycloak/keycloak/tree/master/examples/providers用于部署考虑和准确实现。
关于authentication - AuthnRequest (Keycloak) 中的 SAML 2 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41637270/