Identityserver3 — выберите Identityprovider, который должен использовать клиент.

Теперь у меня есть настройка identityserver3, у меня настроено 3 провайдера идентификации: - Локальный - Google - ADFS

У меня есть несколько клиентов, использующих Oidc-Client-JS (https://github.com/IdentityModel/oidc-client-js).

Теперь я хотел бы указать, какой идентификатор провайдера должен использовать клиент для входа в систему. так скажем:

  • Клиент A позволяет пользователю выбирать, какого провайдера использовать
  • Клиент B входит в систему с локальным
  • Клиент C входит в систему с помощью Google
  • Клиент D входит в систему с ADFS

Ситуация с клиентом А — это поведение по умолчанию, и у меня это работает. Мой вопрос: как мне настроить клиентов B, C и D?


person Raymond    schedule 22.12.2016    source источник


Ответы (2)


arrow_upward
1
arrow_downward

Проверьте следующую функцию при запуске, посмотрите, что вы назвали своим Identityprovider в моем случае «Google».

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

В вашем клиенте установите значение acr_value для idp на то, что вы когда-либо устанавливали.

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

Теперь клиент будет автоматически перенаправляться к правильному провайдеру идентификации.

person Raymond    schedule 22.12.2016

arrow_upward
0
arrow_downward

Согласно документации IdentityServer3, вам необходимо настроить ограничения IdentityProviderRestrictions для каждого клиенты. Если настроен только один поставщик удостоверений, IdSrv3 будет автоматически перенаправлять.

person Alain Croisetière    schedule 20.01.2017