Интеграция между двумя IdentityServer4 (удостоверение aspnet) - PullRequest
1 голос
/ 18 марта 2019

Я пытаюсь выполнить интеграцию IdentityServer4 ( A ) с другой реализацией IdentityServer4 ( B ).Эти двое в настоящее время работают независимо друг от друга.

Я уже добился некоторого прогресса в этом, но я чувствую, что я делаю это неправильно. IdentityServer (A)

  • Добавлен новый клиент (AllowedGrantTypes = GrantTypes.Implicit, )

IdentityServer(B)

  • добавлен новый источник аутентификации AddOpenIdConnect
.AddOpenIdConnect("oidc", "Identity Server A", options =>
{
  options.SignInScheme = IdentityConstants.ExternalScheme;
  options.SignOutScheme = IdentityServerConstants.SignoutScheme;
  options.SaveTokens = true;
  options.RequireHttpsMetadata = false;

  options.Authority = "http://localhost:5000";
  options.ClientId = "identityServerB";

  options.GetClaimsFromUserInfoEndpoint = true;
  options.Scope.Add("roles");

  options.Events.OnTokenValidated = async ctx =>
  {
    ctx.Principal.Claims.Append(new Claim("LoginSource", "IdentityServerA"));

  };
});

Текущий результат, после использования внешнего входа в системумеханизм на B

  • учетная запись создается как положено на B,
  • , пользователь вышел из системы A
  • B таблица aspneUser не заполняется данными пользователя из A
  • B , заполняющими заявки пользователейТаблица с данными пользователей.

На этом этапе мне нужен способ или наилучшая практика для реализации этого:

  1. Создайте учетную запись от A до B и от B доА, в случае, если не существует.
  2. Слияние созданной учетной записи из источника или просто способ связать идентификаторы
  3. Возможность доступа к клиентам Identity Server независимо от того,источник аутентификации.
  4. Свяжите роль или любое утверждение для идентификации источника входа.
  5. обновите информацию о пользователе и сбросьте пароль

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Устранена проблема с документацией шлюза федерации http://docs.identityserver.io/en/latest/quickstarts/4_external_authentication.html

Использовал быстрый запуск 4_ImplicitFlowAuthenticationWithExternal для выявления и устранения проблемы.

Быстрый запуск внешней аутентификации

0 голосов
/ 19 марта 2019

То, что вы пытаетесь достичь, называется шлюзом федерации.

Что такое шлюз федерации и зачем он нужен?http://docs.identityserver.io/en/latest/topics/federation_gateway.html

Как реализовать шлюз федерации?http://docs.identityserver.io/en/latest/quickstarts/4_external_authentication.html

...