(Общий) Аутентификация Azure AD - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь создать WebAPI (с клиентским приложением-потребителем), который может проходить аутентификацию в Azure Active Directory, но не полностью полагается на Active Directory.

У меня отлично работает версия, которая использует ...

Microsoft.IdentityModel.Clients.ActiveDirectory

... но меня это беспокоит, поэтому это не "чистый" способ сделать это.

Например ...

https://azure.microsoft.com/en-us/resources/samples/active-directory-dotnet-webapi-manual-jwt-validation/

... использует платформу идентификации Microsoft. Запись этого кода напоминает создание татуировки Azure AD, и я хотел бы написать что-то «более общее». Кто знает, однажды мы могли бы выбрать другой способ аутентификации наших пользователей.

Может кто-нибудь, пожалуйста, посоветовать, что я должен читать, чтобы достичь этого? Существует множество документов, но в большинстве из них написано «положите A в B» и «поместите C в D», но не очень подробно рассказывает о том, что на самом деле происходит.

1 Ответ

0 голосов
/ 03 июля 2019

Просто чтобы убедиться, что на это есть ответ.

Этот код я использовал для создания универсального метода проверки подлинности, который работает с Azure AD ...

services.AddAuthentication(options =>
{
    options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(o =>
{
    o.MetadataAddress = String.Format("https://login.microsoftonline.com/{0}/v2.0/.well-known/openid-configuration", Configuration["AzureAd:TenantId"]);
    o.Audience = Configuration["AzureAd:ClientId"];
});
...