asp.core2 получить claims пользователя

291
13 ноября 2017, 18:04

В asp.core 1 я могу получить claims текущего залогиненного пользователя, через JWT, используя HttpContextAccessor и DI

Например:

public class UserService : IUserService
        {
            private IHttpContextAccessor _httpContext;
            public UserService(IHttpContextAccessor httpContext)
            {           
                _httpContext = httpContext;
            }
        }

В asp.core 2 это уже не работает. _httpContext.User.Identity.IsAuthenticated равен false, и просто не содержит claims. При том, если обратно мигрировать на asp.core 1, то всё прекрасно работает.

Я узнал что в asp.core 2 нужно явно прописывать

services.AddTransient<IHttpContextAccessor, HttpContextAccessor>();

Но это не помогает я не могу получить claims

Вот мой код startup.cs из проекта asp.core 2

public void ConfigureServices(IServiceCollection services)
    {
        ...
        services.AddAuthentication(o =>
            {
                o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(options =>
            {
                options.RequireHttpsMetadata = false;
                options.SaveToken = true;
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ...
                };
            });
        services.AddCors();
        services.AddMvc();
        services.AddTransient<IUserService, UserService>();
        services.AddTransient<IHttpContextAccessor, HttpContextAccessor();
    }

Есть ли возможность получить claims залогиненного пользователя?

READ ALSO
Проект C++ DirectX в проекте C# Windows Form

Проект C++ DirectX в проекте C# Windows Form

Имеется следующее решение:

284
Баг в работе Javascrip для IOS в Safari

Баг в работе Javascrip для IOS в Safari

Добрый деньЯ понимаю что вопрос размыт

368
JS - Не работает развернуть / свернуть

JS - Не работает развернуть / свернуть

Не работает JS код в браузерах, то есть нажимаешь кнопку развернуть, а оно не реагируетВ хроме все работает как надо, но вот в остальных браузерах...

385