Аутентификация OpenId Connect .NET Core - PullRequest
0 голосов
/ 22 ноября 2018

Мы пытаемся аутентифицировать внутренних пользователей через Azure AD, когда они посещают определенные страницы.Наши серверы не находятся на сайте, поэтому мы ищем API, где мы можем просто передать имя пользователя и пароль пользователя и узнать, находятся ли они в нашей организации и в какие группы они входят.Это было возможно в рамках.Существует ли такая вещь для .NET Core?

ОБНОВЛЕНИЕ: Спасибо за ответ!Кажется, сейчас он дает мне код авторизации, и теперь я пытаюсь использовать его, чтобы получить токен, а затем использовать этот токен доступа для получения групп пользователей (пожалуйста, исправьте меня, если я поступаю неправильно).Моя проблема в том, что я получаю ошибку неверного запроса.Я прошел через параметры кучу и не могу найти то, что мне не хватает.Вот моя текущая настройка URL-адресов API, я что-то упустил?

 string postData = $"{{\"grant_type\":\"{grant_type}\",\"client_id\":\"{client_id}\",\"code\":\"{code}\",\"redirect_uri\":\"{redirect_uri}\",\"client_secret\":\"{client_secret}\"}}";
 string redirectUrl = $"https://login.microsoftonline.com/{tenant_id}/oauth2/authorize?client_id={client_id}&response_type={response_type}&redirect_uri={redirect_uri}&response_mode={response_mode}&resource={client_id}";
 string requestUriString = $"https://login.microsoftonline.com/{tenant_id}/oauth2/token";

ОБНОВЛЕНИЕ 2: я понял, что было не так, я передавал данные поста как строку Json, когда это нужно былох-WWW-форм-urlencoded.

1 Ответ

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

Я не совсем уверен, что это решит вашу проблему, но вы можете взглянуть на следующий пример .NET Core (с MSAL.NET): https://github.com/Azure-Samples/active-directory-dotnetcore-console-up-v2

Это с обычнымотказ от ответственности, что мы действительно не рекомендуем никому использовать имя пользователя / пароль.Есть и другие, гораздо лучшие возможности.Для полной картины см. https://aka.ms/msal-net-scenarios

...