2016-10-07 74 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