【问题标题】:Custom authenticator for WSO2 ISWSO2 IS 的自定义身份验证器
【发布时间】:2016-10-07 06:48:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: authentication wso2 saml-2.0 wso2is


    【解决方案1】:

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

    【讨论】:

    • 谢谢,“commonauth”网址是关键。我还发现我需要手动传递“sessionDataKey”参数(取自 AuthenticationContext.getContextIdentifier()),以便 WSO2 响应处理程序能够识别会话。我希望产品文档能更清楚地说明这些。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多