2016-10-07 43 views
0

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

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

如何创建一个自定义身份验证器,该身份验证器对登录服务使用完全专有参数,但正常SAML2正朝向服务提供商?

回答

0

在第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

+0

感谢,对 “commonauth” URL是关键。我还发现我需要手动中继“sessionDataKey”参数(取自AuthenticationContext.getContextIdentifier()),以便WSO2响应处理程序能够识别会话。我希望产品文档对这些更清楚一点。 – Sunracer