Аутентификация непосредственно у поставщика удостоверений 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

Теперь попробуйте это: -

  1. HTTP GET по вышеуказанной ссылке провайдеров идентификации.
  2. Разберите логин-ссылку нужного провайдера идентификации из ответа json вышеупомянутого запроса.
  3. Аутентифицировать пользователя по полученной на последнем шаге ссылке для входа.
  4. Вы получите свой токен ACS

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

Таким образом вы обойдете страницу входа и сможете получить токен ACS в мобильном приложении, не выходя из контекста приложения.

Другие вопросы по тегам