Azure позволяет нам получить список зарегистрированных поставщиков удостоверений, получив:
https://YourNamespace.accesscontrol.windows.net/v2/metadata/IdentityProviders.js?
protocol=wsfederation&
realm=YourAppRealm&
reply_to=YourAppReturnURL&
version=1.0
Когда пользователь входит в систему, мы получаем утверждение поставщика удостоверений, в котором указывается, какой поставщик использовался для аутентификации.
Проблема в том, что ресурс IdentityProvider.js
не сообщает нам, какое утверждение поставщика удостоверений будет использоваться.
Например:
- Windows Live ID использует значение утверждения
uri:WindowsLiveID
- Google использует значение утверждения
Google
- Поставщик удостоверений ADFS может использовать значение утверждения, например
http://adfs.mycompany.com/adfs/services/trust
.
Мне нужно иметь возможность сопоставлять значения утверждения поставщика удостоверений и поставщиков удостоверений, перечисленных IdentityProviders.js
.
Причина этого в том, что мне нужно разрешить назначать разрешения пользователям, идентифицированным конкретным поставщиком удостоверений. Чтобы упростить пользователю задачу, я хочу предоставить ему список поставщиков удостоверений на выбор (т. е. представляя данные, полученные из IdentityProviders.js
). Однако фактическое назначение должно быть выполнено с использованием значения утверждения поставщика удостоверений, поскольку именно оно идентифицирует поставщика.
Это возможно? Есть ли обходные пути?
Любая помощь будет оценена по достоинству!
uri:WindowsLiveID
, вы можете сопоставить его сWindows Live ID
в своей базе данных. - person Gaurav Mantri   schedule 25.06.2013