Skip to content

Commit b179eb5

Browse files
authored
Merge branch 'master' into saphana
2 parents 6f53081 + a918c89 commit b179eb5

File tree

1,545 files changed

+21842
-13524
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,545 files changed

+21842
-13524
lines changed

.openpublishing.redirection.json

Lines changed: 302 additions & 22 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/TOC.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@
7676
href: user-overview.md
7777
- name: User profile attributes
7878
href: user-profile-attributes.md
79+
- name: SSO sessions
80+
href: session-overview.md
7981
- name: How-to guides
8082
items:
8183
- name: App integration
@@ -335,8 +337,8 @@
335337
href: phone-factor-technical-profile.md
336338
- name: REST
337339
href: restful-technical-profile.md
338-
- name: SAML
339-
href: saml-technical-profile.md
340+
- name: SAML identity provider
341+
href: saml-identity-provider-technical-profile.md
340342
- name: SAML token issuer
341343
href: saml-issuer-technical-profile.md
342344
- name: Self-asserted

articles/active-directory-b2c/claim-resolver-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ You can use claims resolvers with the following elements:
135135
|[OpenID Connect](openid-connect-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
136136
|[Claims transformation](claims-transformation-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
137137
|[RESTful provider](restful-technical-profile.md) technical profile| `InputClaim`| 1, 2|
138-
|[SAML2](saml-technical-profile.md) technical profile| `OutputClaim`| 1, 2|
138+
|[SAML identity provider](saml-identity-provider-technical-profile.md) technical profile| `OutputClaim`| 1, 2|
139139
|[Self-Asserted](self-asserted-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
140140
|[ContentDefinition](contentdefinitions.md)| `LoadUri`| |
141141
|[ContentDefinitionParameters](relyingparty.md#contentdefinitionparameters)| `Parameter` | |

articles/active-directory-b2c/connect-with-saml-service-providers.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ You can change the value of the `IssuerUri` metadata. This is the issuer URI tha
125125
<!-- SAML Token Issuer technical profile -->
126126
<TechnicalProfile Id="Saml2AssertionIssuer">
127127
<DisplayName>Token Issuer</DisplayName>
128-
<Protocol Name="None"/>
128+
<Protocol Name="SAML2"/>
129129
<OutputTokenFormat>SAML2</OutputTokenFormat>
130130
<Metadata>
131131
<!-- The issuer contains the policy name; it should be the same name as configured in the relying party application. B2C_1A_signup_signin_SAML is used below. -->
@@ -138,11 +138,11 @@ You can change the value of the `IssuerUri` metadata. This is the issuer URI tha
138138
</CryptographicKeys>
139139
<InputClaims/>
140140
<OutputClaims/>
141-
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-sp"/>
141+
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
142142
</TechnicalProfile>
143143
144144
<!-- Session management technical profile for SAML based tokens -->
145-
<TechnicalProfile Id="SM-Saml-sp">
145+
<TechnicalProfile Id="SM-Saml-issuer">
146146
<DisplayName>Session Management Provider</DisplayName>
147147
<Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
148148
</TechnicalProfile>

articles/active-directory-b2c/custom-policy-developer-notes.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: conceptual
12-
ms.date: 03/30/2020
12+
ms.date: 04/28/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -76,7 +76,7 @@ Custom policy/Identity Experience Framework capabilities are under constant and
7676
| [OpenID Connect](openid-connect-technical-profile.md) | | | X | For example, Google+. |
7777
| [OAuth2](oauth2-technical-profile.md) | | | X | For example, Facebook. |
7878
| [OAuth1](oauth1-technical-profile.md) | | X | | For example, Twitter. |
79-
| [SAML2](saml-technical-profile.md) | | | X | For example, Salesforce, ADFS. |
79+
| [SAML2](saml-identity-provider-technical-profile.md) | | | X | For example, Salesforce, ADFS. |
8080
| WSFED| X | | | |
8181

8282

@@ -130,7 +130,8 @@ Custom policy/Identity Experience Framework capabilities are under constant and
130130
| [Default SSO session provider](custom-policy-reference-sso.md#defaultssosessionprovider) | | | X | |
131131
| [External login session provider](custom-policy-reference-sso.md#externalloginssosessionprovider) | | | X | |
132132
| [SAML SSO session provider](custom-policy-reference-sso.md#samlssosessionprovider) | | | X | |
133-
133+
| [OAuthSSOSessionProvider](custom-policy-reference-sso.md#oauthssosessionprovider) | | X | | |
134+
| [Single sign-out](session-overview.md#sign-out) | | X | | |
134135

135136
### Security
136137

articles/active-directory-b2c/custom-policy-reference-sso.md

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: reference
12-
ms.date: 03/09/2020
12+
ms.date: 04/28/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -18,18 +18,22 @@ ms.subservice: B2C
1818

1919
[!INCLUDE [active-directory-b2c-advanced-audience-warning](../../includes/active-directory-b2c-advanced-audience-warning.md)]
2020

21-
Single sign-on (SSO) session management in Azure Active Directory B2C (Azure AD B2C) enables an administrator to control interaction with a user after the user has already authenticated. For example, the administrator can control whether the selection of identity providers is displayed, or whether local account details need to be entered again. This article describes how to configure the SSO settings for Azure AD B2C.
22-
23-
SSO session management has two parts. The first deals with the user's interactions directly with Azure AD B2C and the other deals with the user's interactions with external parties such as Facebook. Azure AD B2C does not override or bypass SSO sessions that might be held by external parties. Rather the route through Azure AD B2C to get to the external party is "remembered", avoiding the need to reprompt the user to select their social or enterprise identity provider. The ultimate SSO decision remains with the external party.
21+
[Single sign-on (SSO) session](session-overview.md) management in Azure Active Directory B2C (Azure AD B2C) enables an administrator to control interaction with a user after the user has already authenticated. For example, the administrator can control whether the selection of identity providers is displayed, or whether account details need to be entered again. This article describes how to configure the SSO settings for Azure AD B2C.
2422

2523
SSO session management uses the same semantics as any other technical profile in custom policies. When an orchestration step is executed, the technical profile associated with the step is queried for a `UseTechnicalProfileForSessionManagement` reference. If one exists, the referenced SSO session provider is then checked to see if the user is a session participant. If so, the SSO session provider is used to repopulate the session. Similarly, when the execution of an orchestration step is complete, the provider is used to store information in the session if an SSO session provider has been specified.
2624

2725
Azure AD B2C has defined a number of SSO session providers that can be used:
2826

29-
* NoopSSOSessionProvider
30-
* DefaultSSOSessionProvider
31-
* ExternalLoginSSOSessionProvider
32-
* SamlSSOSessionProvider
27+
|Session provider |Scope |
28+
|---------|---------|
29+
|[NoopSSOSessionProvider](#noopssosessionprovider) | None |
30+
|[DefaultSSOSessionProvider](#defaultssosessionprovider) | Azure AD B2C internal session manager. |
31+
|[ExternalLoginSSOSessionProvider](#externalloginssosessionprovider) | Between Azure AD B2C and OAuth1, OAuth2, or OpenId Connect identity provider. | |
32+
|[OAuthSSOSessionProvider](#oauthssosessionprovider) | Between an OAuth2 or OpenId connect relying party application and Azure AD B2C. |
33+
|[SamlSSOSessionProvider](#samlssosessionprovider) | Between Azure AD B2C and SAML identity provider. And between a SAML service provider (relying party application) and Azure AD B2C. |
34+
35+
36+
3337

3438
SSO management classes are specified using the `<UseTechnicalProfileForSessionManagement ReferenceId="{ID}" />` element of a technical profile.
3539

@@ -60,11 +64,11 @@ As the name dictates, this provider does nothing. This provider can be used for
6064

6165
### DefaultSSOSessionProvider
6266

63-
This provider can be used for storing claims in a session. This provider is typically referenced in a technical profile used for managing local accounts. The following `SM-AAD` technical profile is included in the [custom policy starter pack](custom-policy-get-started.md#custom-policy-starter-pack).
67+
This provider can be used for storing claims in a session. This provider is typically referenced in a technical profile used for managing local and federated accounts. The following `SM-AAD` technical profile is included in the [custom policy starter pack](custom-policy-get-started.md#custom-policy-starter-pack).
6468

6569
```XML
6670
<TechnicalProfile Id="SM-AAD">
67-
<DisplayName>Session Mananagement Provider</DisplayName>
71+
<DisplayName>Session Management Provider</DisplayName>
6872
<Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.DefaultSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
6973
<PersistedClaims>
7074
<PersistedClaim ClaimTypeReferenceId="objectId" />
@@ -80,6 +84,7 @@ This provider can be used for storing claims in a session. This provider is typi
8084
</TechnicalProfile>
8185
```
8286

87+
8388
The following `SM-MFA` technical profile is included in the [custom policy starter pack](custom-policy-get-started.md#custom-policy-starter-pack) `SocialAndLocalAccountsWithMfa`. This technical profile manages the multi-factor authentication session.
8489

8590
```XML
@@ -97,11 +102,11 @@ The following `SM-MFA` technical profile is included in the [custom policy start
97102

98103
### ExternalLoginSSOSessionProvider
99104

100-
This provider is used to suppress the "choose identity provider" screen. It is typically referenced in a technical profile configured for an external identity provider, such as Facebook. The following `SM-SocialLogin` technical profile is included in the [custom policy starter pack](custom-policy-get-started.md#custom-policy-starter-pack).
105+
This provider is used to suppress the "choose identity provider" screen and sign-out from a federated identity provider. It is typically referenced in a technical profile configured for a federated identity provider, such as Facebook, or Azure Active Directory. The following `SM-SocialLogin` technical profile is included in the [custom policy starter pack](custom-policy-get-started.md#custom-policy-starter-pack).
101106

102107
```XML
103108
<TechnicalProfile Id="SM-SocialLogin">
104-
<DisplayName>Session Mananagement Provider</DisplayName>
109+
<DisplayName>Session Management Provider</DisplayName>
105110
<Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.ExternalLoginSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
106111
<Metadata>
107112
<Item Key="AlwaysFetchClaimsFromProvider">true</Item>
@@ -118,9 +123,20 @@ This provider is used to suppress the "choose identity provider" screen. It is t
118123
| --- | --- | --- |
119124
| AlwaysFetchClaimsFromProvider | No | Not currently used, can be ignored. |
120125

126+
### OAuthSSOSessionProvider
127+
128+
This provider is used for managing the Azure AD B2C sessions between a OAuth2 or OpenId Connect relying party and Azure AD B2C.
129+
130+
```xml
131+
<TechnicalProfile Id="SM-jwt-issuer">
132+
<DisplayName>Session Management Provider</DisplayName>
133+
<Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.OAuthSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
134+
</TechnicalProfile>
135+
```
136+
121137
### SamlSSOSessionProvider
122138

123-
This provider is used for managing the Azure AD B2C SAML sessions between a relying party application or a federated SAML identity provider. When using the SSO provider for storing a SAML identity provider session, the `RegisterServiceProviders` must be set to `false`. The following `SM-Saml-idp` technical profile is used by the [SAML technical profile](saml-technical-profile.md).
139+
This provider is used for managing the Azure AD B2C SAML sessions between a relying party application or a federated SAML identity provider. When using the SSO provider for storing a SAML identity provider session, the `RegisterServiceProviders` must be set to `false`. The following `SM-Saml-idp` technical profile is used by the [SAML identity provider technical profile](saml-identity-provider-technical-profile.md).
124140

125141
```XML
126142
<TechnicalProfile Id="SM-Saml-idp">
@@ -134,14 +150,15 @@ This provider is used for managing the Azure AD B2C SAML sessions between a rely
134150

135151
When using the provider for storing the B2C SAML session, the `RegisterServiceProviders` must set to `true`. SAML session logout requires the `SessionIndex` and `NameID` to complete.
136152

137-
The following `SM-Saml-idp` technical profile is used by [SAML issuer technical profile](saml-issuer-technical-profile.md)
153+
The following `SM-Saml-issuer` technical profile is used by [SAML issuer technical profile](saml-issuer-technical-profile.md)
138154

139155
```XML
140-
<TechnicalProfile Id="SM-Saml-sp">
156+
<TechnicalProfile Id="SM-Saml-issuer">
141157
<DisplayName>Session Management Provider</DisplayName>
142158
<Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
143159
</TechnicalProfile>
144160
```
161+
145162
#### Metadata
146163

147164
| Attribute | Required | Description|
@@ -150,4 +167,6 @@ The following `SM-Saml-idp` technical profile is used by [SAML issuer technical
150167
| RegisterServiceProviders | No | Indicates that the provider should register all SAML service providers that have been issued an assertion. Possible values: `true` (default), or `false`.|
151168

152169

170+
## Next steps
153171

172+
- Learn more about [Azure AD B2C session](session-overview.md).

articles/active-directory-b2c/identity-provider-adfs2016-custom.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ms.subservice: B2C
1818

1919
[!INCLUDE [active-directory-b2c-advanced-audience-warning](../../includes/active-directory-b2c-advanced-audience-warning.md)]
2020

21-
This article shows you how to enable sign-in for an ADFS user account by using [custom policies](custom-policy-overview.md) in Azure Active Directory B2C (Azure AD B2C). You enable sign-in by adding a [SAML technical profile](saml-technical-profile.md) to a custom policy.
21+
This article shows you how to enable sign-in for an ADFS user account by using [custom policies](custom-policy-overview.md) in Azure Active Directory B2C (Azure AD B2C). You enable sign-in by adding a [SAML identity provider technical profile](saml-identity-provider-technical-profile.md) to a custom policy.
2222

2323
## Prerequisites
2424

@@ -44,7 +44,7 @@ You need to store your certificate in your Azure AD B2C tenant.
4444

4545
If you want users to sign in using an ADFS account, you need to define the account as a claims provider that Azure AD B2C can communicate with through an endpoint. The endpoint provides a set of claims that are used by Azure AD B2C to verify that a specific user has authenticated.
4646

47-
You can define an ADFS account as a claims provider by adding it to the **ClaimsProviders** element in the extension file of your policy. For more information, see [define a SAML technical profile](saml-technical-profile.md).
47+
You can define an ADFS account as a claims provider by adding it to the **ClaimsProviders** element in the extension file of your policy. For more information, see [define a SAML identity provider technical profile](saml-identity-provider-technical-profile.md).
4848

4949
1. Open the *TrustFrameworkExtensions.xml*.
5050
1. Find the **ClaimsProviders** element. If it does not exist, add it under the root element.

articles/active-directory-b2c/identity-provider-salesforce-custom.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ms.subservice: B2C
1818

1919
[!INCLUDE [active-directory-b2c-advanced-audience-warning](../../includes/active-directory-b2c-advanced-audience-warning.md)]
2020

21-
This article shows you how to enable sign-in for users from a Salesforce organization using [custom policies](custom-policy-overview.md) in Azure Active Directory B2C (Azure AD B2C). You enable sign-in by adding a [SAML technical profile](saml-technical-profile.md) to a custom policy.
21+
This article shows you how to enable sign-in for users from a Salesforce organization using [custom policies](custom-policy-overview.md) in Azure Active Directory B2C (Azure AD B2C). You enable sign-in by adding a [SAML identity provider technical profile](saml-identity-provider-technical-profile.md) to a custom policy.
2222

2323
## Prerequisites
2424

@@ -99,7 +99,7 @@ You need to store the certificate that you created in your Azure AD B2C tenant.
9999

100100
If you want users to sign in using a Salesforce account, you need to define the account as a claims provider that Azure AD B2C can communicate with through an endpoint. The endpoint provides a set of claims that are used by Azure AD B2C to verify that a specific user has authenticated.
101101

102-
You can define a Salesforce account as a claims provider by adding it to the **ClaimsProviders** element in the extension file of your policy. For more information, see [define a SAML technical profile](saml-technical-profile.md).
102+
You can define a Salesforce account as a claims provider by adding it to the **ClaimsProviders** element in the extension file of your policy. For more information, see [define a SAML identity provider technical profile](saml-identity-provider-technical-profile.md).
103103

104104
1. Open the *TrustFrameworkExtensions.xml*.
105105
1. Find the **ClaimsProviders** element. If it does not exist, add it under the root element.
@@ -199,13 +199,13 @@ The **ClaimsProviderSelection** element is analogous to an identity provider but
199199
Now that you have a button in place, you need to link it to an action. The action, in this case, is for Azure AD B2C to communicate with a Salesforce account to receive a token.
200200

201201
1. Find the **OrchestrationStep** that includes `Order="2"` in the user journey.
202-
2. Add the following **ClaimsExchange** element making sure that you use the same value for **Id** that you used for **TargetClaimsExchangeId**:
202+
2. Add the following **ClaimsExchange** element making sure that you use the same value for **ID** that you used for **TargetClaimsExchangeId**:
203203

204204
```XML
205205
<ClaimsExchange Id="SalesforceExchange" TechnicalProfileReferenceId="salesforce" />
206206
```
207207

208-
Update the value of **TechnicalProfileReferenceId** to the **Id** of the technical profile you created earlier. For example, `LinkedIn-OAUTH`.
208+
Update the value of **TechnicalProfileReferenceId** to the **ID** of the technical profile you created earlier. For example, `LinkedIn-OAUTH`.
209209

210210
3. Save the *TrustFrameworkExtensions.xml* file and upload it again for verification.
211211

articles/active-directory-b2c/jwt-issuer-technical-profile.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: reference
12-
ms.date: 03/06/2020
12+
ms.date: 04/28/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -31,7 +31,16 @@ The following example shows a technical profile for `JwtIssuer`:
3131
<DisplayName>JWT Issuer</DisplayName>
3232
<Protocol Name="None" />
3333
<OutputTokenFormat>JWT</OutputTokenFormat>
34-
...
34+
<Metadata>
35+
<Item Key="client_id">{service:te}</Item>
36+
<Item Key="issuer_refresh_token_user_identity_claim_type">objectId</Item>
37+
<Item Key="SendTokenResponseBodyWithJsonNumbers">true</Item>
38+
</Metadata>
39+
<CryptographicKeys>
40+
<Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
41+
<Key Id="issuer_refresh_token_key" StorageReferenceId="B2C_1A_TokenEncryptionKeyContainer" />
42+
</CryptographicKeys>
43+
<UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />
3544
</TechnicalProfile>
3645
```
3746

@@ -60,9 +69,13 @@ The CryptographicKeys element contains the following attributes:
6069

6170
| Attribute | Required | Description |
6271
| --------- | -------- | ----------- |
63-
| issuer_secret | Yes | The X509 certificate (RSA key set) to use to sign the JWT token. This is the `B2C_1A_TokenSigningKeyContainer` key you cofigured in [Get started with custom policies](custom-policy-get-started.md). |
72+
| issuer_secret | Yes | The X509 certificate (RSA key set) to use to sign the JWT token. This is the `B2C_1A_TokenSigningKeyContainer` key you configure in [Get started with custom policies](custom-policy-get-started.md). |
6473
| issuer_refresh_token_key | Yes | The X509 certificate (RSA key set) to use to encrypt the refresh token. You configured the `B2C_1A_TokenEncryptionKeyContainer` key in [Get started with custom policies](custom-policy-get-started.md) |
6574

75+
## Session management
76+
77+
To configure the Azure AD B2C sessions between Azure AD B2C and a relying party application, in the attribute of the `UseTechnicalProfileForSessionManagement` element, add a reference to [OAuthSSOSessionProvider](custom-policy-reference-sso.md#oauthssosessionprovider) SSO session.
78+
6679

6780

6881

108 KB
Loading

0 commit comments

Comments
 (0)