Azure AD app - секрет клиента, связанный с пользователем - PullRequest
0 голосов
/ 27 марта 2020

пожалуйста, вот как можно установить связь между приложением в Azure AD и Пользователем с секретом клиента.

Мой вариант использования. Пользователь запрашивает токен с секретом клиента (как deamon) и вызывает мой web api и проверяет этот токен. Токен действителен, но нет информации о пользователе, который ему звонил, или о том, кто зарегистрировал приложение. Пользователь получает токен через API (https://docs.microsoft.com/en-gb/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow#get -a-token )

Когда пользователь запрашивает токен интерактивно, все в порядке.

Я пытался использовать информацию о том, кто создал приложение, но Azure AD не устанавливает его, когда пользователь является администратором.

Есть ли способ использовать deamon, который будет связан с каким-то пользователем? Можно ли где-нибудь сохранить эти отношения в azure нашей эры?

Моя идея, каждый пользователь, который хотел бы использовать мой веб-API в качестве демона, создает свое приложение и подключается к моему веб-API, которые используют его для проверки. Отношения между создателем приложения и пользователем может быть достаточно. но когда я удаляю пользователя, и у него все еще есть секрет клиента, он может получить доступ. Я не хочу использовать его имя пользователя и пароль, потому что он будет сохранен на разных компьютерах и недостаточно сохранен.

Если у вас есть еще вопросы, не стесняйтесь спрашивать! Спасибо за любую идею.

1 Ответ

0 голосов
/ 03 апреля 2020

Для сценария ios, такого как этот, ваше приложение должно иметь Роль приложения с allowedMemeberTypes, имеющим Application, и, как упомянуто в документации, это будет отображаться как приложение разрешение для других приложений.

Таким образом, пользователи вашего API должны будут добавить это разрешение приложения в свое приложение демона (для этого требуется согласие администратора). Это приведет к внутреннему запуску потока, который создаст принципала службы (например, пользователя приложения) и добавит его в качестве пользователя к вашему приложению (вы должны увидеть его в списке под Enterprise Applications > (Your API) > Users and Groups).

Если вы хотите отказать этому демону в доступе к вашему API, вам просто нужно отозвать предоставленное сначала согласие администратора.

Я полагаю, что вы могли бы даже автоматизировать этот процесс с помощью API Microsoft Graph .

...