Информация
Я создаю собственный. Net Core API в Microsoft Visual Studio 2017. Идея состоит в том, чтобы этот пользовательский API обрабатывал вызовы API Microsoft Graph и разрешал для пользовательских веб-приложений для вызова этого пользовательского API. Мы настроили сайт разработчика Microsoft Office 365 и Azure клиента Active Directory, который связан с сайтом разработчика. Учетная запись клиента в настоящее время имеет делегированный доступ для Microsoft Graph API. Это было отправной точкой для всего этого: https://docs.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/?view=odsp-graph-online
Проблема
Я следил за документацией Microsoft здесь: https://docs.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/aad-oauth?view=odsp-graph-online
Я могу получить токен access / refre sh через Postman и использовать поток OAuth2:
- GET запрос для получения кода авторизации (это проблема c, пришлось делать это вручную через браузер)
- POST запрос на получение токена доступа / refre sh токен
- Использовать токен доступа для вызовов Graph API
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти способ выполнить 1-й шаг процесса OAuth2 только с запросами Http (Postman, позже HttpClient). Чтобы получить фактический код авторизации, мне нужно открыть браузер, подключить конечную точку, а затем он перенаправляет мой браузер и дает мне код авторизации в параметрах строки запроса. Затем я могу взять это значение и вставить его в запрос Post для токена access / refre sh и получить токены. Поскольку это приложение будет постоянно работать на выделенном сервере, я не хочу беспокоиться о том, что по истечении срока действия токена придется вернуть go и открыть браузер для выполнения шага 1 процесса OAuth2. Кажется, что это должно быть просто сделать, запрос GET для кода авторизации, но из того, что я прочитал в документации, похоже, что это предназначено для выполнения через пользователя с браузером? Если я вызываю эту конечную точку прямо из PostMan, она возвращает Html, а не код авторизации.
Решение?
Я прошу помощи в выборе способа чтобы получить этот код авторизации с помощью простого запроса Http или каким-то образом передать этот шаг и просто получить конечную точку, чтобы напрямую выдать мне токены. Упростит ли переключение клиента на разрешения приложений этот процесс OAuth2? Любой, у кого есть опыт работы с этим или имеет другой выбор дизайна, был бы признателен.