Identityserver3 - 选择客户端应使用的Identityprovider

时间:2016-12-22 10:20:01

标签: identityserver3 oidc-client-js

我现在有identityserver3设置,我配置了3个identityproviders:   - 当地  - 谷歌   - ADFS

我有多个客户端使用Oidc-Client-JS(https://github.com/IdentityModel/oidc-client-js)。

现在我想指定客户端应该使用哪个identityprovider来登录。所以我们说:

  • 客户端A允许用户选择使用哪个提供商
  • 客户端B使用本地
  • 登录
  • 客户端C使用Google登录
  • 客户端D使用ADFS登录

客户端A的情况是默认行为,我有这个工作。我的问题是我如何设置客户B,C和D?

2 个答案:

答案 0 :(得分:1)

在启动时检查以下功能,在我的案例中查看您所谓的IdentityProvider" Google"。

    public static void ConfigureIdentityProviders(IAppBuilder app, string signInAsType)
    {
        app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions
        {
            AuthenticationType = "Google",

在您的客户端中,将idp的acr_value设置为您设置的内容。

    let userManagerSettings: Oidc.UserManagerSettings = {
        acr_values: "idp:Google",

现在,客户端将自动重定向到正确的identityprovider

答案 1 :(得分:0)

根据IdentityServer3 documentation,您需要为每个客户端配置IdentityProviderRestrictions。如果仅配置了一个身份提供程序,则IdSrv3将自动重定向。