Не удается выполнить вход с аутентификацией cookie - PullRequest
1 голос
/ 22 марта 2019

Я пытаюсь войти, и HttpContext.User.Identitiy.IsAuthenticated всегда ложно.

Настройка службы

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(
                options => {

                    options.LoginPath = "/";
                    options.AccessDeniedPath =new PathString("/AccessDenied");
                    options.Events.OnRedirectToLogin = (context) => {
                        context.Response.StatusCode = 401;
                        return Task.CompletedTask;
                    };
                });

Метод

public async Task Invoke(HttpContext context) {
            string token = context.Request.Query["token"];
            var claims = new List<Claim> {
                new Claim("token",token,APPLICATION_NAME)
            };

            var claimsIdentity = new ClaimsIdentity(claims,CookieAuthenticationDefaults.AuthenticationScheme);
            var authProperties = new AuthenticationProperties {
                AllowRefresh = true,
                ExpiresUtc = DateTimeOffset.Now.AddSeconds(20),
                IsPersistent = true
            };

            await context.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity),authProperties);
            if (context.User.Identity.IsAuthenticated) { //always false
            }
}

1 Ответ

1 голос
/ 26 марта 2019

SignInAsync не меняет участника пользователя текущего запроса .Отметьте то же свойство в следующем запросе, и оно должно быть true

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...