.Net Core 2.1 Web API, использующий JWT и JWT Cookie одновременно - PullRequest
0 голосов
/ 15 ноября 2018

Я хотел бы сохранить JWT в файле cookie и использовать его для аутентификации пользователя ИЛИ токен-носитель из заголовка HTTP.

В данный момент я использую только HTTP-Auth заголовок, и он работает.

Я пытался использовать Identity Cookies и JwT так:

[Authorize] //Cookie auth?!
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class ValuesController : ControllerBase

Startup.cs:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(...)

...

services.AddIdentity<ApplicationUser, IdentityRole>()

Я также пытался добавить различные схемы в AddAuthentication(). Это не работает.

Мой вопрос заключается в том, как активировать аутентификацию удостоверений JWT и ASP.NET одновременно для действий / контроллеров.

1 Ответ

0 голосов
/ 19 ноября 2018

Исходя из вашего описания, я предполагаю, что вам нужно более одной аутентификации для ваших действий.

Вы можете добавить несколько схем аутентификации, которые вы сделали с AddJwtBearer и AddIdentity, а в AuthorizeAttribute выбрать несколько схем.

[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme + ", " + Microsoft.AspNetCore.Identity.IdentityConstants.ApplicationScheme)]
...