Выполните аутентификацию и получите токен Azure AD в основном веб-API .net с grant_type в качестве пароля - PullRequest
0 голосов
/ 16 января 2019

Как настроить аутентификацию Azure AD и получить токен доступа в .net core Web API с механизмом grant_type:password? без перенаправления портала Azure.

public void ConfigureServices(IServiceCollection services) { 
    services.Configure<CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. 
        options.CheckConsentNeeded = context => true;
        options.MinimumSameSitePolicy = SameSiteMode.None;
    });

    services.AddAuthentication(AzureADB2CDefaults.AuthenticationScheme) .AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

1 Ответ

0 голосов
/ 17 января 2019

Это возможно, если вы напрямую отправляете почтовый запрос на конечную точку токена, как показано в этой теме .

Но грант для доступа к паролю владельца ресурса равен Не рекомендуется , поскольку он менее безопасен, чем другие потоки (ваше приложение обрабатывает учетные данные), и он не совместим с условным доступом. Кроме того, личные учетные записи, приглашенные клиенту Azure AD, не могут использовать ROPC. Кроме того, если пользователям необходимо использовать многофакторную аутентификацию (MFA) для входа в приложение, они будут заблокированы.

------- Предложить подход

Если по сценарию пользователь прошел аутентификацию в клиентском приложении, а также получает токен доступа для доступа к вашему веб-API, в веб-API вам необходимо вызвать другой ресурс / API, вы можете использовать On- От имени потока , который позволяет приложению, которое вызывает сервис или веб-API, передавать аутентификацию пользователя другому сервису или веб-API. Вы можете нажать здесь для примера кода в .Net Core.

Вы также можете использовать Поток предоставления учетных данных клиента OAuth 2.0 позволяет веб-службе (конфиденциальному клиенту) использовать свои собственные учетные данные вместо олицетворения пользователя для аутентификации при вызове другой веб-службы. Вы можете нажать здесь для примера кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...