【问题标题】:WSO2 identiy server - How to map a User Store to a service provider for Authentication?WSO2 身份服务器 - 如何将用户存储映射到服务提供商以进行身份​​验证?
【发布时间】:2017-11-01 14:41:15
【问题描述】:

我们正在尝试构建一个应用程序,该应用程序将使用 WSO2 身份服务器向 IDP 发起的 SSO 进行身份验证。

我已经在 WSO2IS 教程中试用了 travelocity.com 示例,我可以理解作为本地出站身份验证的“默认”身份验证类型使用主用户存储来执行身份验证:

我需要了解的是,如何将 UserStore 映射到与特定服务提供商合作,我在 IDP 启动时执行 SSO?

我可以在 WSO2 管理控制台中管理它吗? 或者我是否必须修改 authenticationendpoint webapp?

【问题讨论】:

    标签: active-directory wso2 single-sign-on wso2is


    【解决方案1】:

    它不限于 PRIMARY 用户存储,如果您有多个辅助用户存储,它会尝试使用每个用户存储对用户进行身份验证,直到身份验证成功。

    Identity Server 中目前无法将用户存储限制为特定的服务提供者,但您可以编写自定义身份验证器并实现此要求。这是关于如何编写自定义本地身份验证器的guide。基本上你需要做的是,覆盖 processAuthenticationResponse 方法并相应地选择用户存储。

    【讨论】:

    • 嗨Jayanga,您能否分享确切的代码行以获取方法“processAuthenticationResponse”中的特定用户存储?假设我有第二个用户存储“CustomUserStore”。
    • 您可以使用以下代码获取 PRIMARY 用户存储,并从中获取辅助用户存储。 UserStoreManager userStoreManager = (UserStoreManager) BasicCustomAuthenticatorServiceComponent.getRealmService().getTenantUserRealm(tenantId).getUserStoreManager();
    【解决方案2】:

    根据您描述的要求,我想建议另一种方法来实现相同的目标。

    在 WSO2 身份服务器中,您可以在身份验证流程中使用策略。因此,使用策略我们可以限制特定服务提供商允许哪些用户存储。

    查看https://medium.com/@Pushpalanka/application-wise-authorization-wso2-identity-server-user-store-per-service-provider-dfea5f9ad758了解详细说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 2018-11-08
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-07
      相关资源
      最近更新 更多