Как проверить токен носителя JWT в .NET Core 2.2 - PullRequest
0 голосов
/ 19 сентября 2019

Я разработал интерфейсное приложение, которое позволяет получать токен jwt из Azure AD.

Мне удается поместить этот токен в заголовки и отправить запрос в мой сервер.

Я проверил токен с помощью онлайн-инструментов, он действителен.

На URL, который не требует токена, я могу получить его и декодировать.

Но когда я замечаю URL как [Авторизация] Я до сих пор получаю ответы 401 и не вижу, как это сделать, чтобы мой бэкэнд мог проверить мой токен.

Я понятия не имею, что поместить в Startup.cs моего .NET Core2.2 проект

У кого-нибудь есть решение?

1 Ответ

0 голосов
/ 20 сентября 2019

Я нахожу решение:

В appsettings.json:

"AzureActiveDirectory": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "<Domain>",
    "TenantId": "https://login.microsoftonline.com/<TenantId>/v2.0",
    "ClientId": "<ClientId>"
  }

В Startup.cs:

services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme).AddAzureADBearer(options => Configuration.Bind("AzureActiveDirectory", options));
services.AddAuthorization(o =>
{
    o.DefaultPolicy = new AuthorizationPolicyBuilder()
        .RequireAuthenticatedUser()
        .AddAuthenticationSchemes(AzureADDefaults.BearerAuthenticationScheme)
        .Build();
});
...