Как можно аутентифицировать приложение с помощью Azure AD - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь настроить приложение для проверки личности с помощью Azure AD и получить токен, чтобы разрешить доступ к защищенному API.Приложение переднего плана написано в угловых и позволяет анонимный доступ.Что я могу использовать для доступа к аутентификации AAD и возврата токена доступа?

Это будет угловой пользовательский интерфейс 6+, который обменивается данными с безопасным API-интерфейсом .Net с использованием Azure AD для аутентификации.Я провел пару дней исследований, и все указывает на то, что пользователь входит в систему для аутентификации на странице входа.Мне нужно, чтобы приложение и открыть страницу входа в систему.Я попробовал пару примеров, где он использовал аутентификацию / авторизацию, и это не сработало, потому что приложение должно авторизовать пользователя для общения с API.Я видел, где люди использовали график Microsoft, но снова он был основан на пользователях, и они были перенаправлены на лазурный логин.Я ищу решение, которое позволило бы мне настроить учетную запись в Azure Ad и аутентифицировать приложение при запуске, чтобы получить токен доступа, чтобы разрешить связь с моим защищенным API.Если я что-то пропустил где-то в своих исследованиях и попытках тестирования, дайте мне знать.Это моя первая попытка аутентификации Azure AD, и я чувствую, что мне чего-то не хватает для авторизации приложения.

1 Ответ

2 голосов
/ 10 апреля 2019

Проблема в приложении Angular - это то, что мы называем публичным клиентом.Он не может хранить секреты и, следовательно, не может доказать свою личность.Таким образом, общедоступные клиенты должны использовать только пользовательские потоки аутентификации.

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

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

Если вы действительно хотите обойти аутентификацию для частей API, вы можете просто сделать эти конечные точки доступными анонимно без маркера.

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