我正在尝试为WSO2 IS创建一个完全自定义的外部验证器 . 其思路是:1 . 服务提供商使用SAML2请求将用户转发到WSO2 IS(入站身份验证配置= SAML2 Web SSO配置) . 2.所述服务提供商的本地身份验证配置是我的自定义身份验证器 . 3.自定义身份验证器将用户重定向到身份验证服务 . 4.用户登录.5 . 登录服务将用户转发回WSO2 IS自定义验证器(使用与之前的“/ samlsso”相同的URL) .
问题是登录服务使用和返回的参数是完全专有的,即 . 不是SAML2 . 但是,WSO2IS在访问自定义身份验证器时需要SAML2请求 .
如何创建一个自定义身份验证器,它使用完全专有的参数来登录服务,但是对服务提供商使用正常的SAML2?
1 回答
在步骤5中,它应转发到/ commonauth endpoints . 因此,它将从您的身份验证器中的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