Где находится ClaimTypes.IdentityProvider?

Используя.Net 4.5 RC и Azure Access Control Service, основные претензии, которые меня интересуют, - это IdentityProvider и NameIdentifier.

System.Security.Claims.ClaimTypes содержит константы для известных утверждений и имеет ClaimTypes.NameIdentifier, но, по-видимому, отсутствует ClaimTypes.IdentityProvider.

Я был очень удивлен, что не нашел его там. Конечно, я могу просто использовать строковое представление "http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider" в одной из моих собственных констант, но, учитывая стремление Microsoft к облаку, я ожидал бы найти его с помощью стандартных ClaimTypes.

Это просто недосмотр? Есть ли веская причина для его отсутствия? Это в каком-то другом пространстве имен?

1 ответ

Решение

Рискну предположить, что утверждение IdentityProvider не является частью стандартного набора типов утверждений WIF, поскольку IdentityProvider уже является обязательным полем, присутствующим в выданном маркере безопасности, отдельно от набора утверждений.

ACS, с другой стороны, является поставщиком федерации между приложением проверяющей стороны и сторонним поставщиком удостоверений. Обратите внимание, что ACS не использует механизмы ActAs или OnBehalfOf, но RP может захотеть узнать, с какого IP- адреса приходит пользователь, поэтому ACS выдает заявку IdentityProvider для этой цели.

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