Настройка клиента SAML в Identity Server 4 при использовании компонента ComponentSpace - PullRequest
0 голосов
/ 04 июня 2019

У меня был быстрый вопрос, касающийся конкретной детали реализации по использованию Компонентного пространства с Identity Server 4 ComponentSpace SAML для ASP.NET Core Руководство по интеграции IdentityServer4

В нашем существующем коде вДействие Login AccountsController, мы используем http://docs.identityserver.io/en/latest/reference/interactionservice.html GetAuthorizationContextAsync, чтобы получить контекст запроса авторизации

if (ModelState.IsValid)
        {
            var user = await _umStore.FindUserByEmailAsync(model.Username);

            // Get the client user manager properties - get these from the database
            var context = await _interaction.GetAuthorizationContextAsync(model.ReturnUrl);

На данный момент я различаю запрос SAML как таковой, что, как вы можете себе представить, довольно ужасный хак… Я получаю нулевой контекст запроса авторизации, поскольку клиент SAML не настроен в таблице dbo.Clients на уровне сервера идентификации 4 дБ.

  if (context == null && model.ReturnUrl.Contains("SingleSignOnServiceCompletion"))
            {
                if (await _umStore.ValidateCredentialsAsync(model.Username, model.Password))
                {
                    AuthenticationProperties props = null;
                    if (AccountOptions.AllowRememberLogin && model.RememberLogin)
                    {
                        props = new AuthenticationProperties
                        {
                            IsPersistent = true,
                            ExpiresUtc = DateTimeOffset.UtcNow.Add(AccountOptions.RememberMeLoginDuration)
                        };
                    };

                    await HttpContext.SignInAsync(user.UserId.ToString(), user.UserName, props);

                    return Redirect(model.ReturnUrl);
                }
            }

Итак, вопрос в том, как мне создатьклиент SAML в dbo.Clients IdentityServer4 dB для возврата действительного запроса авторизации?

...