Как проверить куки пользователя и извлечь их претензии в рамках идентификации? - PullRequest
1 голос
/ 02 июля 2019

В настоящее время я использую Identity Framework для создания и хранения файлов cookie для пользователя. Когда пользователь пытается войти с помощью cookie, я не могу получить претензии пользователя из cookie. Есть ли способ расшифровать куки, когда он передан или найти его в httpcontext?

Я пытался найти httpcontext, и в настоящее время я пытаюсь найти способ расшифровать переданный файл cookie.

Из автозагрузки.cs

 services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
                .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>
                {
                    options.Cookie.Name = "MyCookie.Identity";

                    options.Cookie.Expiration = TimeSpan.FromDays(1);
                });

Где я создаю куки:


        private async void AddUserCookie(AuthRequest authRequest)
        {
            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(false);

Когда я пытаюсь извлечь файл cookie из http-контекста, он говорит, что нет никаких претензий в личности пользователя.

1 Ответ

1 голос
/ 22 июля 2019

Ответ предоставляется здесь: https://forums.asp.net/t/2157350.aspx?How+does+cookie+authentication+in+identity+framework+work+

Короче говоря, я забыл добавить app.UseAuthentication () в мой startup.cs

...