OpenIddict - Добавить JWT Token в Cookie после вызова SignIn
У меня есть приложение которое является сервисом авторизации (AuthService). Есть другие сервисы(WebApi, front) которые должны использовать этот сервис для авторизации и аутентификации. Я использую Identity + OpenIddict. В самом контроллере авторизации (AuthService) вызываю стандартный метод SignIn(principal,OpenIddictServerAspNetCoreDefaults.AuthenticationScheme); и контроллер отдает мне в ответе JWT токен и он работает в других сервисах API. Но мне нужно вернуть этот JWT токен в куках, как мне это сделать? Ниже код который показывает что я хочу сделать, но он не работает, так как headers в этот момент только на чтение.
var principal = await CreatePrincipalAsync(user);
principal.SetScopes(OpenIddictConstants.Scopes.OfflineAccess);
//здесь генерируется ответ с токеном
await HttpContext.SignInAsync(OpenIddictServerAspNetCoreDefaults.AuthenticationScheme, principal);
//здесь я получаю данные из ответа
var response = HttpContext.GetOpenIddictServerResponse();
//Здесь я пытаюсь записать токен, сгенерированный OpenIddict JWT, в cookie, но это не удается
HttpContext.Response.Cookies.Append("token", response.AccessToken,
new CookieOptions { Expires = DateTime.Now.AddMinutes(response.ExpiresIn) });
return Ok();
Вопрос - как мне после SignIn записать токен в cookie ответа?