0

我现在有 identityserver3 设置,我配置了 3 个身份提供者: - 本地 - 谷歌 - ADFS

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

现在我想指定客户端应该使用哪个身份提供者登录。所以让我们说:

  • 客户端 A 让用户选择使用哪个提供者
  • 客户端 B 使用本地登录
  • 客户 C 用 google 登录
  • 客户端 D 使用 ADFS 登录

客户端 A 的情况是默认行为,我可以正常工作。我的问题是如何设置客户端 B、C 和 D?

4

2 回答 2

1

在您的启动中检查以下功能,看看您在我的情况下称为“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",

现在客户端将自动重定向到正确的身份提供者

于 2016-12-22T10:53:48.817 回答
0

根据IdentityServer3 文档,您需要为每个客户端配置 IdentityProviderRestrictions。如果只配置了一个身份提供者,IdSrv3 将自动重定向。

于 2017-01-20T05:21:37.727 回答