Аутентификация с помощью Azure AD из приложения React JS - PullRequest
0 голосов
/ 28 августа 2018

У меня есть приложение, разработанное с использованием React JS. Мне нужно обеспечить аутентификацию для этого приложения с помощью Azure AD. У меня есть требование не перенаправлять на страницу входа в Microsoft при входе в систему. Чтобы добиться того же, я создал пользовательскую страницу входа в систему как часть моего внешнего приложения. И по щелчку входа в систему я вызываю конечную точку токена Azure AD, используя поток учетных данных владельца ресурса, и, таким образом, передаю имя пользователя и пароль, введенные на моей пользовательской странице для аутентификации. Но при попытке вызвать метод post для конечной точки токена я получаю сообщение об ошибке:

Failed to load https://login.windows.net/<tenant id>/oauth2/token: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

Я попытался установить заголовок Access-Control-Allow-Origin, но получил ту же ошибку.

Пожалуйста, помогите мне исправить то же самое.

1 Ответ

0 голосов
/ 28 августа 2018

Вы не можете вызвать конечную точку токена из клиентского приложения JavaScript. Основным способом получения токенов является использование потока неявного предоставления (получение токенов из конечной точки авторизации после входа пользователя в систему). Вы должны использовать страницу входа Microsoft, вы не можете создать свою собственную.

Вы можете использовать Reaction-Adal для реализации потока входа в систему, вот статья о его использовании: https://itnext.io/a-memo-on-how-to-implement-azure-ad-authentication-using-react-and-net-core-2-0-3fe9bfdf9f36

...