Определение технического профиля для издателя токенов SAML в пользовательской политике Azure Active Directory B2C

Примечание

В Azure Active Directory B2C пользовательские политики преимущественно предназначены для выполнения сложных сценариев. В большинстве случаев рекомендуется использовать встроенные пользовательские потоки. Ознакомьтесь со статьей Начало работы с настраиваемыми политиками в Azure Active Directory B2C, чтобы узнать о базовом пакете настраиваемых политик, если еще не сделали этого.

При обработке каждого потока проверки подлинности Azure Active Directory B2C (Azure AD B2C) создает маркеры безопасности различных типов. Технический профиль для издателя токенов SAML выдает токен SAML, который возвращается в приложение проверяющей стороны (поставщик услуг). Как правило, этот технический профиль является последним шагом оркестрации на пути взаимодействия пользователя.

Протокол

Атрибуту Name элемента Protocol необходимо присвоить значение SAML2. Для элемента OutputTokenFormat задайте значение SAML2.

В следующем примере показан технический профиль для Saml2AssertionIssuer:

<TechnicalProfile Id="Saml2AssertionIssuer">
  <DisplayName>Token Issuer</DisplayName>
  <Protocol Name="SAML2"/>
  <OutputTokenFormat>SAML2</OutputTokenFormat>
  <Metadata>
    <Item Key="IssuerUri">https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/B2C_1A_signup_signin_SAML</Item>
    <Item Key="TokenNotBeforeSkewInSeconds">600</Item>
  </Metadata>
  <CryptographicKeys>
    <Key Id="MetadataSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
    <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
  </CryptographicKeys>
  <InputClaims/>
  <OutputClaims/>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
</TechnicalProfile>

Входные данные, выходные данные и сохранение утверждений

Элементы InputClaims, OutputClaims и PersistClaims являются пустыми или отсутствуют. Элементы InutputClaimsTransformations и OutputClaimsTransformations также отсутствуют.

Метаданные

attribute Обязательно Описание
IssuerUri Нет Имя издателя, которое отображается в ответе SAML. Значение должно совпадать с именем, настроенным в приложении проверяющей стороны.
XmlSignatureAlgorithm Нет Метод, который Azure AD B2C использует для подписания утверждения SAML. Возможные значения: Sha256, Sha384, Sha512 или Sha1. Настройте алгоритм подписи на обеих сторонах, используя одно и то же значение. Используйте только тот алгоритм, который поддерживается вашим сертификатом. Сведения о настройке ответа SAML см. в разделе Параметры регистрации приложения SAML.
TokenNotBeforeSkewInSeconds Нет Задает отклонение в виде целого числа в качестве отметки времени, которая обозначает начало периода действия. Чем больше это число, тем раньше начинается период действия относительно момента выпуска утверждений для проверяющей стороны. Например, если для TokenNotBeforeSkewInSeconds задано значение 60 секунд, то маркер, выпущенный в 13:05:10 UTC, будет действительным с 13:04:10 UTC. Значение по умолчанию — 0. Максимальное значение по — 3600 (один час).
TokenLifeTimeInSeconds Нет Задает время жизни утверждения SAML. Это значение указывается в секундах относительно значения NotBefore, заданного выше. Значение по умолчанию — 300 секунд (5 минут).

Криптографические ключи

Элемент CryptographicKeys содержит следующие атрибуты:

attribute Обязательно Описание
MetadataSigning Да Сертификат X509 (набор ключей RSA), используемый для подписывания метаданных SAML. Azure AD B2C использует этот ключ для подписывания метаданных.
SamlMessageSigning Да Укажите сертификат X509 (набор ключей RSA), используемый для подписывания сообщений SAML. Azure AD B2C использует этот ключ для подписывания ответа <samlp:Response> и отправки его проверяющей стороне.
SamlAssertionSigning Нет Укажите сертификат X509 (набор ключей RSA), который будет использоваться для подписи элемента утверждения SAML <saml:Assertion> токена SAML. В противном случае используется криптографический ключ SamlMessageSigning.

Управление сеансом

Чтобы настроить сеансы SAML в Azure AD B2C между приложением проверяющей стороны и атрибутом элемента UseTechnicalProfileForSessionManagement, требуется ссылка на сеанс единого входа SamlSSOSessionProvider.

Дальнейшие действия

Пример использования технического профиля издателя SAML см. в следующей статье: