Реализовать аутентификацию через сторонний сервис

Мне в проекте необходимо реализовать аутентификацию через сторонний сервис, но я столкнулся с такой проблемой, что если в коде startup.cs добавить стандартный AddIdentity то идентификация приходит в ответ от Google но не встаёт в куки или клеймы

services.AddDbContext<MainContext>(options =>
                options.UseSqlServer(_configuration.GetConnectionString("MainConnection")),
                ServiceLifetime.Transient);
services.AddIdentity<User, Role>()
                 .AddEntityFrameworkStores<MainContext>()
                 .AddDefaultTokenProviders();

Если данную строчку убрать, то при выполнении этого кода

@if (User?.Identity?.IsAuthenticated ?? false)
{
    <h1>Welcome, @User.Identity.Name</h1>

    <p>
        @foreach (var claim in Context.User.Claims)
        {
            <div><code>@claim.Type</code>: <strong>@claim.Value</strong></div>}
    </p>

    <a class="btn btn-lg btn-danger" href="/signout?returnUrl=%2F">Sign out</a> 
}

else
{
    <h1>Welcome, anonymous</h1>
    <a class="btn btn-lg btn-success" href="@Url.Action("qwe","Authentication", new { area="Identity"})">Sign in</a>
}

будет отображаться загруженные данные в клеймах. Мне кажется там идет либо какой то конфликт либо мне надо как то вручную при аутентификации от Google дальше вставить данные в куки или клеймы. Подскажите как мне исправить это?


Ответы (0 шт):