Использование двух приложений Azure AD для мобильных и веб-приложений - PullRequest
3 голосов
/ 14 марта 2019

У меня есть мобильное приложение, которое получает токен непосредственно при входе в Azure.И у меня есть сервис, который использует adal4j при весенней загрузке.Я не могу использовать мобильный токен для аутентификации Spring.Поскольку я использую две разные регистрации приложений Azure для мобильных и веб-службы.Есть ли способ сделать это?

Ответы [ 3 ]

1 голос
/ 14 марта 2019

Да, поток OAuth 2.0 от имени должен применяться к вашему сценарию.Эти шаги составляют поток от имени.

enter image description here

1 голос
/ 14 марта 2019

Насколько я понимаю, вы создали 2 корпоративных приложения в Azure. 1) Корпоративное приложение для вашего мобильного приложения (Тип: Native) 2) Корпоративное приложение для вашего приложения Web API (Тип: WebAPI)

Для нативного приложения вам не потребуется секрет клиента, но вам потребуется секрет клиента для приложения Web API.

Теперь перейдем к настройкам ключа: В обоих случаях обновите файл манифеста, чтобы oauth2AllowImplicitFlow был установлен на true Кроме того, в вашем корпоративном веб-приложении API укажите идентификатор вашего нативного приложения в известных клиентских приложениях. "knownClientApplications": ["

Теперь, когда вы вызываете свой Web API через конечную точку из родного приложения, передайте свой токен в заголовке запроса как «Авторизация»: «Носитель»

Также обратите внимание: если вам нужно получить групповые заявки, обновите манифест в обоих ваших корпоративных приложениях, чтобы иметь следующие настройки для этого свойства "groupMembershipClaims": "SecurityGroup"

Обновление: Под разрешениями в собственном приложении добавьте регистрацию приложения Web API, чтобы разрешить доступ

0 голосов
/ 14 марта 2019

Azure AD выдает токен для определенного ресурса (который сопоставлен с приложением Azure AD). Когда мы вызываем AcquireToken (), нам нужно предоставить идентификатор ресурса, только ОДИН идентификатор ресурса. Результат будет иметь токен, который может использоваться только для предоставленного ресурса (id). Есть способы, в которых вы можете использовать один и тот же токен, но это не рекомендуется, поскольку это усложняет ведение журнала операций, отслеживание процесса аутентификации и т. Д. Поэтому лучше взглянуть на другие параметры, предоставляемые Azure и библиотекой ADAL. Библиотека ADAL поддерживает получение нескольких токенов доступа для нескольких ресурсов с использованием токена обновления. Это означает, что после аутентификации пользователя контекст аутентификации ADAL сможет генерировать токен доступа для нескольких ресурсов без повторной аутентификации пользователя.

Подробнее здесь .

...