Identity Server 4 - аутентификация с обновленным токеном - PullRequest
0 голосов
/ 20 февраля 2019

Я подхожу к серверу удостоверений 4 недавно, и после того, как прочитал документацию и попробовал проект примеров, у меня возникли некоторые трудности в этом сценарии:

1 - вход в систему с провайдером (например, Google) 2- Я прошу свой IS4 токен, передающий code_token от Google 3 - я получаю новый действительный токен от моего IS4 4 - Сохраняйте новый токен и используйте его для аутентификации с этого момента

Моя проблема в точке 4потому что я не знаю, как сохранить в приложении MVC новый токен

HttpContext.GetTokenAsync("access_token")

Этот вызов i каждый раз обнуляется.

  AuthenticationProperties authProp = new AuthenticationProperties();
            authProp.StoreTokens(new List<AuthenticationToken>
                {
                    new AuthenticationToken { Name = OpenIdConnectParameterNames.IdToken, Value = newIdToken },
                    new AuthenticationToken { Name = OpenIdConnectParameterNames.AccessToken, Value = newAccessToken },
                    new AuthenticationToken { Name = OpenIdConnectParameterNames.RefreshToken, Value = newRefreshToken },
                    new AuthenticationToken { Name = OpenIdConnectParameterNames.AcrValues, Value = string.Format("idp:{0} email:{1}", model.Provider, model.Email) }
                });

            SignIn(new ClaimsPrincipal(identity), authProp, "oidc");

После этого сохраняем новые токены и добавляем провайдера.в значения AcrValues ​​Если я захожу на страницу с [Авторизовать] вызов, сделанный на IS4, без AcrValues ​​и не возвращает зарегистрированного пользователя.

Что я пропустил в пути?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...