|
| 1 | +--- |
| 2 | +title: Define a technical profile for a SAML issuer in a custom policy |
| 3 | +titleSuffix: Azure AD B2C |
| 4 | +description: Define a technical profile for a Security Assertion Markup Language token (SAML) issuer in a custom policy in Azure Active Directory B2C. |
| 5 | +services: active-directory-b2c |
| 6 | +author: msmimart |
| 7 | +manager: celestedg |
| 8 | + |
| 9 | +ms.service: active-directory |
| 10 | +ms.workload: identity |
| 11 | +ms.topic: reference |
| 12 | +ms.date: 03/09/2020 |
| 13 | +ms.author: mimart |
| 14 | +ms.subservice: B2C |
| 15 | +--- |
| 16 | + |
| 17 | +# Define a technical profile for a SAML token issuer in an Azure Active Directory B2C custom policy |
| 18 | + |
| 19 | +[!INCLUDE [active-directory-b2c-advanced-audience-warning](../../includes/active-directory-b2c-advanced-audience-warning.md)] |
| 20 | + |
| 21 | +Azure Active Directory B2C (Azure AD B2C) emits several types of security tokens as it processes each authentication flow. A technical profile for a SAML token issuer emits a SAML token that is returned back to the relying party application (service provider). Usually this technical profile is the last orchestration step in the user journey. |
| 22 | + |
| 23 | +## Protocol |
| 24 | + |
| 25 | +The **Name** attribute of the **Protocol** element needs to be set to `None`. Set the **OutputTokenFormat** element to `SAML2`. |
| 26 | + |
| 27 | +The following example shows a technical profile for `Saml2AssertionIssuer`: |
| 28 | + |
| 29 | +```XML |
| 30 | +<TechnicalProfile Id="Saml2AssertionIssuer"> |
| 31 | + <DisplayName>Token Issuer</DisplayName> |
| 32 | + <Protocol Name="None"/> |
| 33 | + <OutputTokenFormat>SAML2</OutputTokenFormat> |
| 34 | + <Metadata> |
| 35 | + <Item Key="IssuerUri">https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/B2C_1A_signup_signin_SAML</Item> |
| 36 | + </Metadata> |
| 37 | + <CryptographicKeys> |
| 38 | + <Key Id="MetadataSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/> |
| 39 | + <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/> |
| 40 | + </CryptographicKeys> |
| 41 | + <InputClaims/> |
| 42 | + <OutputClaims/> |
| 43 | + <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-sp"/> |
| 44 | +</TechnicalProfile> |
| 45 | +``` |
| 46 | + |
| 47 | +## Input, output, and persist claims |
| 48 | + |
| 49 | +The **InputClaims**, **OutputClaims**, and **PersistClaims** elements are empty or absent. The **InutputClaimsTransformations** and **OutputClaimsTransformations** elements are also absent. |
| 50 | + |
| 51 | +## Metadata |
| 52 | + |
| 53 | +| Attribute | Required | Description | |
| 54 | +| --------- | -------- | ----------- | |
| 55 | +| IssuerUri | No | The issuer name that appears in the SAML response. The value should be the same name as configured in the relying party application. | |
| 56 | + |
| 57 | +## Cryptographic keys |
| 58 | + |
| 59 | +The CryptographicKeys element contains the following attributes: |
| 60 | + |
| 61 | +| Attribute | Required | Description | |
| 62 | +| --------- | -------- | ----------- | |
| 63 | +| MetadataSigning | Yes | The X509 certificate (RSA key set) to use to sign SAML metadata. Azure AD B2C uses this key to sign the metadata. | |
| 64 | +| SamlMessageSigning| Yes| Specify the X509 certificate (RSA key set) to use to sign SAML messages. Azure AD B2C uses this key to signing the response `<samlp:Response>` send to the relying party.| |
| 65 | + |
| 66 | +## Session management |
| 67 | + |
| 68 | +To configure the Azure AD B2C SAML sessions between a relying party application, the attribute of the `UseTechnicalProfileForSessionManagement` element, reference to [SamlSSOSessionProvider](custom-policy-reference-sso.md#samlssosessionprovider) SSO session. |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | + |
0 commit comments