Аутентификация непосредственно у поставщика удостоверений Azure ACS
Мне нужно мое мобильное приложение, чтобы разрешить аутентификацию либо стороннему поставщику (Facebook, Google и т. Д.), Либо моему провайдеру идентификации WS-Federation (я использую Thinktecture). Теперь при входе в мой собственный идентификатор WS-Fed я хочу пройти аутентификацию напрямую и передать маркер безопасности в Azure ACS (а не с помощью специальной страницы входа). Мне это нужно, потому что я не хочу, чтобы мои пользователи проходили аутентификацию, используя моего провайдера, используя выделенную веб-страницу (и выходя из контекста приложения).
Ваша помощь будет оценена.
1 ответ
С вашего портала управления ACS получите список провайдеров идентификации вашей области по ссылке ниже
https://YourNamespace.accesscontrol.windows.net/v2/metadata/IdentityProviders.js
? протокол =wsfederation& realm=YourAppRealm& reply_to=YourAppReturnURL& version=1.0
Теперь попробуйте это: -
- HTTP GET по вышеуказанной ссылке провайдеров идентификации.
- Разберите логин-ссылку нужного провайдера идентификации из ответа json вышеупомянутого запроса.
- Аутентифицировать пользователя по полученной на последнем шаге ссылке для входа.
- Вы получите свой токен ACS
Примечание. После выполнения шага 3 пользователю будет предложено выполнить аутентификацию, а провайдер идентификации автоматически отправит токен аутентификации в ACS, и, наконец, ACS преобразует этот токен в новый токен ACS и вернет его, как в шаге 4.
Таким образом вы обойдете страницу входа и сможете получить токен ACS в мобильном приложении, не выходя из контекста приложения.