Я создал сервер авторизации на основе 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 Core2.1
Мне нужна помощь.