Авторизация учетных данных клиента с помощью Azure Active Directory и Swagger - PullRequest
0 голосов
/ 24 января 2019

Требуется получить токен авторизации для доступа к моему приложению, работающему на локальном хосте. Я запрашиваю конечную точку токена AAD для токена от клиента Swagger OAuth2 в UseSwaggerUi3. Я получаю сообщение об ошибке CORS о том, что конечная точка не разрешает запросы перекрестного происхождения от моего локального хоста. Как я могу это исправить?

[Изменить] Я могу получить токен, если отправлю запрос POST на ту же конечную точку с помощью Fiddler.

Ответы [ 2 ]

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

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

Во-вторых, потому что Azure AD блокирует перекрестные исходные запросы к своей конечной точке токена. (как вы видели)

Вам необходимо использовать код авторизации или неявный поток с пользовательским контекстом. Или создайте другой API, который получает токен в серверной части и вызывает другой API вместе с ним.

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

CORS - это ресурс перекрестного происхождения, он позволяет двум разным веб-приложениям, работающим в двух разных источниках, обмениваться данными друг с другом.Есть два способа включить cors 1) перейти на azure - веб-приложения - настройка поиска по столбцу - cors.2) добавьте новый заголовок cors как «*», что означает, что он разрешит все URL-адреса, запрашивающие веб-приложение, вы также предоставите конкретный URL-адрес.3) сохранить его.4) второй подход - разрешить заголовок cors из вашего кода в заголовках веб-конфигурации.

...