.netcore 2.2 Httpcontext не имеет SignInAsync - PullRequest
0 голосов
/ 24 декабря 2018

Я хочу добавить Аутентификацию в свое приложение.Вот мой код

using Microsoft.AspNetCore.Http;
using System;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http.Authentication;
using Microsoft.AspNetCore.Identity;

namespace OlegTarOpenId
{
    public class OpenIdMiddleware
    {
        private readonly RequestDelegate _next;

        public OpenIdMiddleware(RequestDelegate next)
        {
            _next = next;
        }

        public async Task InvokeAsync(HttpContext context)
        {
            var claims = new[]
            {
                new Claim("name", "Oleg")
            };
            var claimsIdentity = new ClaimsIdentity(claims, "Google");
            // Call the next delegate/middleware in the pipeline
            await context.SignInAsync("Google", new ClaimsPrincipal(claimsIdentity));//<-- There is the error
            await _next(context);
        }
    }
}

Я добавил Microsoft.AspNetCore.Authentication.Abstractions в свой проект.Но я не знаю, почему контекст не видит метод расширения SignInAsync.

1 Ответ

0 голосов
/ 24 декабря 2018

SignInAsync - это метод расширения, который находится в Microsoft.AspNetCore.Authentication.Abstractions и находится в пространстве имен Microsoft.AspNetCore.Authentication.

В вашем случае он выглядит следующим образомвам просто нужно добавить оператор using:

using Microsoft.AspNetCore.Authentication;

Это отдельно от удостоверения ядра ASP.NET и пакетов Microsoft.AspNetCore.Identity.

...