Невозможно обновить куки с новым набором токенов
Я создал сервер авторизации на основе IdentityServer4. Оно работает. Но когда я пытаюсь обновить токены, используя обратный канал, запрос не выполняется в момент вызова метода AuthenticateAsync() для HttpContext. По сути, вызов AuthenticateAsync() или SignInAsync() для HttpContext завершается неудачно. Хуже того, даже когда я перевожу вызов в блок try...catch, исключение не выдается.
Я попытался ввести IHttpContextAccessor как Scoped или Singleton, но тот же результат. Спешу добавить, что сервер авторизации возвращает обновленные токены, но именно в момент обновления куки новыми клиентскими токенами в клиентском приложении процесс останавливается. Я подозреваю, что проблема связана с контекстом, но я не могу указать на точную проблему.
Ниже приведен фрагмент кода
var accessToken = string.Empty;
var currentContext = _context.HttpContext;
// this line works perfectly
var refreshToken = await
currentContext.GetTokenAsync(OpenIdConnectParameterNames.RefreshToken);
// the auth service returns the tokens in the stringified data object
var tokens = JsonConvert.DeserializeObject<List<AuthenticationToken>>(data);
if (tokens.Any())
{
// this is the line that fails
var currentAuthenticateResult = await
currentContext.AuthenticateAsync("Cookies");
currentAuthenticateResult.Properties.StoreTokens(tokens);
// even this fails
await currentContext.SignInAsync("Cookies",
currentAuthenticateResult.Principal,
currentAuthenticateResult.Properties);
}
Клиентское приложение написано на.NET Core 2.1
Мне нужна помощь.