WSO2 IS 的自定义验证器

Custom authenticator for WSO2 IS

我正在尝试为 WSO2 IS 创建一个完全自定义的外部验证器。这个想法是这样的: 1. 服务提供商通过 SAML2 请求将用户转发到 WSO2 IS(入站身份验证配置 = SAML2 Web SSO 配置)。 2. 所述服务提供商的本地身份验证配置是我的自定义身份验证器。 3. 自定义身份验证器将用户重定向到身份验证服务。 4. 用户登录。 5. 登录服务将用户转发回 WSO2 IS 自定义身份验证器(使用与之前相同的 URL“/samlsso”。

问题是登录服务使用和返回的参数是完全专有的,即。不是 SAML2。但是,WSO2IS 在访问自定义身份验证器时需要 SAML2 请求。

我如何创建自定义身份验证器,它对登录服务使用完全专有的参数,但对服务提供商使用普通 SAML2?

在第 5 步中,它应该转发到 /commonauth 端点。因此,它将从您的身份验证器中的 getContextIdentifier 方法中识别出正确的上下文。

您可以使用 Facebook 身份验证器作为示例 [1]

[1] https://github.com/wso2/carbon-identity/blob/master/components/application-authenticators/org.wso2.carbon.identity.application.authenticator.social/src/main/java/org/wso2/carbon/identity/application/authenticator/social/facebook/FacebookAuthenticator.java