Я использую Identity Framework, чтобы попытаться извлечь утверждения пользователя из файла cookie.Это что-то, что делает Identity Framework автоматически, когда приходит запрос, или есть способ извлечь его вручную?
Когда я читаю взгляд на httpcontext, пользователь всегда равен нулю.Тем не менее, он должен иметь пользователя, которого я назначил ему.
Вот код, который я использую для назначения куки пользователю.Я также сбит с толку тем, что делает SignInAsync, поскольку после его вызова ничего не меняется.
var claims = new List<Claim>
{
new Claim(ClaimTypes.NameIdentifier, authRequest.UserName),
new Claim(ClaimTypes.Name, authRequest.UserName),
new Claim(ClaimTypes.Email, "TestClaim@Test.com")
};
var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
var authProperties = new AuthenticationProperties
{
AllowRefresh = true,
ExpiresUtc = DateTimeOffset.UtcNow.AddDays(1),
IsPersistent = true,
IssuedUtc = DateTimeOffset.UtcNow
};
await this._httpContextAccessor.HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties).ConfigureAwait(true);
Я ожидаю, что HttpContext.User не станет нулевым после вызова SignInAsync, и я ожидаю, что HttpContext.Userне может быть нулевым, когда приходит запрос с cookie.