Использование нескольких протоколов доверия в сценариях федерации
Возможны сценарии, в которых федеративные клиенты взаимодействуют со службой и службой маркеров безопасности, версии доверия которых не совпадают. Код WSDL службы может содержать утверждение RequestSecurityTokenTemplate
с элементами WS-Trust, версии которых не совпадают с версией службы маркеров безопасности. В таких случаях клиент Windows Communication Foundation (WCF) преобразует элементы WS-Trust, полученные из RequestSecurityTokenTemplate
версии доверия STS. WCF обрабатывает несогласованные версии доверия только для стандартных привязок. Все стандартные параметры алгоритма, распознаваемые WCF, являются частью стандартной привязки. В этом разделе описывается поведение WCF с различными параметрами доверия между службой и службой STS.
Проверяющая сторона и служба маркеров безопасности используют версию февраля 2005 г.
Код WSDL проверяющей стороны содержит следующие элементы в разделе RequestSecurityTokenTemplate
:
CanonicalizationAlgorithm
EncryptionAlgorithm
EncryptWith
SignWith
KeySize
KeyType
Файл конфигурации клиента содержит список параметров.
WCF не может различать параметры клиента и службы; он добавляет все параметры и отправляет их в RequestSecurityTokenTemplate
(RST).
Проверяющая сторона и служба маркеров безопасности используют версию Trust 1.3
Код WSDL проверяющей стороны содержит следующие элементы в разделе RequestSecurityTokenTemplate
:
CanonicalizationAlgorithm
EncryptionAlgorithm
EncryptWith
SignWith
KeySize
KeyType
KeyWrapAlgorithm
Файл конфигурации клиента содержит элемент secondaryParameters
, являющийся оболочкой для параметров, заданных проверяющей стороной.
WCF удаляет EncryptionAlgorithm
CanonicalizationAlgorithm
KeyWrapAlgorithm
элементы из элемента верхнего уровня в RST, если они присутствуют внутри SecondaryParameters
элемента. WCF добавляет элемент к исходящему SecondaryParameters
объекту RST, не измененном.
Проверяющая сторона использует версию февраля 2005 г., а служба маркеров безопасности - версию Trust 1.3
Код WSDL проверяющей стороны содержит следующие элементы в разделе RequestSecurityTokenTemplate
:
CanonicalizationAlgorithm
EncryptionAlgorithm
EncryptWith
SignWith
KeySize
KeyType
Файл конфигурации клиента содержит список параметров.
Из файла конфигурации клиента WCF не может различать параметры службы и клиента. Поэтому WCF преобразует все параметры в пространство имен Trust версии 1.3.
WCF обрабатывает KeyType
элементы и KeySize
TokenType
элементы следующим образом:
Загружается код WSDL, создается привязка и присваиваются значения
KeyType
,KeySize
иTokenType
на основании параметров проверяющей стороны. Создается файл конфигурации клиента.Теперь клиент может изменять любые параметры в файле конфигурации.
Во время выполнения WCF копирует все параметры, указанные в
AdditionalTokenParameters
разделе файла конфигурации клиента, кроме тогоKeyType
,KeySize
иTokenType
, поскольку эти параметры учитываются во время создания файла конфигурации.
Проверяющая сторона использует версию Trust 1.3, а служба маркеров безопасности - версию февраля 2005 г.
Код WSDL проверяющей стороны содержит следующие элементы в разделе RequestSecurityTokenTemplate
:
CanonicalizationAlgorithm
EncryptionAlgorithm
EncryptWith
SignWith
KeySize
KeyType
KeyWrapAlgorithm
Файл конфигурации клиента содержит элемент secondaryParameters
, являющийся оболочкой для параметров, заданных проверяющей стороной.
WCF копирует все параметры, указанные в SecondaryParameters
разделе, в элемент RST верхнего уровня, но не преобразует их в пространство имен WS-Trust 2005.