You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/develop/active-directory-optional-claims.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ While optional claims are supported in both v1.0 and v2.0 format tokens, as well
39
39
40
40
## v1.0 and v2.0 optional claims set
41
41
42
-
The set of optional claims available by default for applications to use are listed below. To add custom optional claims for your application, see [Directory Extensions](#configuring-directory-extension-optional-claims), below. When adding claims to the **access token**, this will apply to access tokens requested *for* the application (a web API), not those *by* the application. This ensures that no matter the client accessing your API, the right data is present in the access token they use to authenticate against your API.
42
+
The set of optional claims available by default for applications to use are listed below. To add custom optional claims for your application, see [Directory Extensions](#configuring-directory-extension-optional-claims), below. When adding claims to the **access token**, the claims apply to access tokens requested *for* the application (a web API), not claims requested *by* the application. No matter how the client accesses your API, the right data is present in the access token that is used to authenticate against your API.
43
43
44
44
> [!NOTE]
45
45
> The majority of these claims can be included in JWTs for v1.0 and v2.0 tokens, but not SAML tokens, except where noted in the Token Type column. Consumer accounts support a subset of these claims, marked in the "User Type" column. Many of the claims listed do not apply to consumer users (they have no tenant, so `tenant_ctry` has no value).
@@ -51,7 +51,7 @@ The set of optional claims available by default for applications to use are list
51
51
|`auth_time`| Time when the user last authenticated. See OpenID Connect spec.| JWT |||
52
52
|`tenant_region_scope`| Region of the resource tenant | JWT |||
53
53
|`home_oid`| For guest users, the object ID of the user in the user’s home tenant.| JWT |||
54
-
|`sid`| Session ID, used for per-session user signout. | JWT | Personal and Azure AD accounts. ||
54
+
|`sid`| Session ID, used for per-session user sign-out. | JWT | Personal and Azure AD accounts. ||
55
55
|`platf`| Device platform | JWT || Restricted to managed devices that can verify device type.|
56
56
|`verified_primary_email`| Sourced from the user’s PrimaryAuthoritativeEmail | JWT |||
57
57
|`verified_secondary_email`| Sourced from the user’s SecondaryAuthoritativeEmail | JWT |||
@@ -60,12 +60,12 @@ The set of optional claims available by default for applications to use are list
60
60
|`fwd`| IP address.| JWT || Adds the original IPv4 address of the requesting client (when inside a VNET) |
61
61
|`ctry`| User’s country | JWT || Azure AD returns the `ctry` optional claim if it's present and the value of the claim is a standard two-letter country code, such as FR, JP, SZ, and so on. |
62
62
|`tenant_ctry`| Resource tenant’s country | JWT |||
63
-
|`xms_pdl`| Preferred data location | JWT || For Multi-Geo tenants, this is the 3-letter code showing the geographic region the user is in. For more info, see the [Azure AD Connect documentation about preferred data location](https://docs.microsoft.com/azure/active-directory/connect/active-directory-aadconnectsync-feature-preferreddatalocation).<br/>For example: `APC` for Asia Pacific. |
63
+
|`xms_pdl`| Preferred data location | JWT || For Multi-Geo tenants, the preferred data location is the three-letter code showing the geographic region the user is in. For more info, see the [Azure AD Connect documentation about preferred data location](https://docs.microsoft.com/azure/active-directory/connect/active-directory-aadconnectsync-feature-preferreddatalocation).<br/>For example: `APC` for Asia Pacific. |
64
64
|`xms_pl`| User preferred language | JWT ||The user’s preferred language, if set. Sourced from their home tenant, in guest access scenarios. Formatted LL-CC (“en-us”). |
65
65
|`xms_tpl`| Tenant preferred language| JWT || The resource tenant’s preferred language, if set. Formatted LL (“en”). |
66
66
|`ztdid`| Zero-touch Deployment ID | JWT || The device identity used for [Windows AutoPilot](https://docs.microsoft.com/windows/deployment/windows-autopilot/windows-10-autopilot)|
67
-
|`email`| The addressable email for this user, if the user has one. | JWT, SAML | MSA, Azure AD | This value is included by default if the user is a guest in the tenant. For managed users (those inside the tenant), it must be requested through this optional claim or, on v2.0 only, with the OpenID scope. For managed users, the email address must be set in the [Office admin portal](https://portal.office.com/adminportal/home#/users).|
68
-
| `groups`| Optional formatting for group claims |JWT, SAML| |Used in conjunction with the GroupMembershipClaims setting in the [application manifest](reference-app-manifest.md), which must be set as well. For details see [Group claims](#configuring-groups-optional-claims) below. For more information on group claims see [How to configure group claims](../hybrid/how-to-connect-fed-group-claims.md)
67
+
|`email`| The addressable email for this user, if the user has one. | JWT, SAML | MSA, Azure AD | This value is included by default if the user is a guest in the tenant. For managed users (the users inside the tenant), it must be requested through this optional claim or, on v2.0 only, with the OpenID scope. For managed users, the email address must be set in the [Office admin portal](https://portal.office.com/adminportal/home#/users).|
68
+
| `groups`| Optional formatting for group claims |JWT, SAML| |Used in conjunction with the GroupMembershipClaims setting in the [application manifest](reference-app-manifest.md), which must be set as well. For details see [Group claims](#configuring-groups-optional-claims) below. For more information about group claims, see [How to configure group claims](../hybrid/how-to-connect-fed-group-claims.md)
69
69
|`acct`| Users account status in tenant. | JWT, SAML || If the user is a member of the tenant, the value is `0`. If they are a guest, the value is `1`. |
70
70
|`upn`| UserPrincipalName claim. | JWT, SAML || Although this claim is automatically included, you can specify it as an optional claim to attach additional properties to modify its behavior in the guest user case. |
71
71
@@ -82,7 +82,7 @@ These claims are always included in v1.0 Azure AD tokens, but not included in v2
82
82
|`pwd_exp`| Password Expiration Time | The datetime at which the password expires. ||
83
83
|`pwd_url`| Change Password URL | A URL that the user can visit to change their password. ||
84
84
|`in_corp`| Inside Corporate Network | Signals if the client is logging in from the corporate network. If they're not, the claim isn't included. | Based off of the [trusted IPs](../authentication/howto-mfa-mfasettings.md#trusted-ips) settings in MFA. |
85
-
|`nickname`| Nickname | An additional name for the user, separate from first or last name. |
85
+
|`nickname`| Nickname | An additional name for the user. The nickname is separate from first or last name. |
86
86
|`family_name`| Last Name | Provides the last name, surname, or family name of the user as defined in the user object. <br>"family_name":"Miller" | Supported in MSA and Azure AD |
87
87
|`given_name`| First name | Provides the first or "given" name of the user, as set on the user object.<br>"given_name": "Frank" | Supported in MSA and Azure AD |
88
88
|`upn`| User Principal Name | An identifer for the user that can be used with the username_hint parameter. Not a durable identifier for the user and should not be used to key data. | See [additional properties](#additional-properties-of-optional-claims) below for configuration of the claim. |
@@ -97,7 +97,7 @@ Some optional claims can be configured to change the way the claim is returned.
|`upn`|| Can be used for both SAML and JWT responses, and for v1.0 and v2.0 tokens. |
99
99
||`include_externally_authenticated_upn`| Includes the guest UPN as stored in the resource tenant. For example, `foo_hometenant.com#EXT#@resourcetenant.com`|
100
-
||`include_externally_authenticated_upn_without_hash`| Same as above, except that the hash marks (`#`) are replaced with underscores (`_`), for example `[email protected]`|
100
+
||`include_externally_authenticated_upn_without_hash`| Same as above, except that the hash marks (`#`) are replaced with underscores (`_`), for example `[email protected]`|
101
101
102
102
#### Additional properties example
103
103
@@ -114,7 +114,7 @@ Some optional claims can be configured to change the way the claim is returned.
114
114
}
115
115
```
116
116
117
-
This OptionalClaims object causes the ID token returned to the client to include another upn with the additional home tenant and resource tenant information. This will only change the `upn` claim in the token if the user is a guest in the tenant (that uses a different IDP for authentication).
117
+
This OptionalClaims object causes the ID token returned to the client to include another upn with the additional home tenant and resource tenant information. The `upn` claim is only changed in the token if the user is a guest in the tenant (that uses a different IDP for authentication).
118
118
119
119
## Configuring optional claims
120
120
@@ -124,8 +124,8 @@ This OptionalClaims object causes the ID token returned to the client to include
124
124
You can configure optional claims for your application through the UI or application manifest.
125
125
126
126
1. Sign in to the [Azure portal](https://portal.azure.com).
127
-
1. After you've authenticated, choose your Azure AD tenant by selecting it from the topright corner of the page.
128
-
1. Select **Azure Active Directory** from the lefthand menu.
127
+
1. After you've authenticated, choose your Azure AD tenant by selecting it from the top-right corner of the page.
128
+
1. Select **Azure Active Directory** from the left-hand menu.
129
129
1. From the **Manage** section, select **App registrations**.
130
130
1. Select the application you want to configure optional claims for in the list.
131
131
@@ -145,7 +145,7 @@ You can configure optional claims for your application through the UI or applica
145
145
146
146
1. From the **Manage** section, select **Manifest**. A web-based manifest editor opens, allowing you to edit the manifest. Optionally, you can select **Download** and edit the manifest locally, and then use **Upload** to reapply it to your application. For more information on the application manifest, see the [Understanding the Azure AD application manifest article](reference-app-manifest.md).
147
147
148
-
The following application manifest entry adds the auth_time, ipaddr and upn optional claims to ID, access and SAML tokens.
148
+
The following application manifest entry adds the auth_time, ipaddr, and upn optional claims to ID, access, and SAML tokens.
149
149
150
150
```json
151
151
"optionalClaims":
@@ -227,31 +227,31 @@ Within the SAML tokens, these claims will be emitted with the following URI form
227
227
This section covers the configuration options under optional claims for changing the group attributes used in group claims from the default group objectID to attributes synced from on-premises Windows Active Directory. You can configure groups optional claims for your application through the UI or application manifest.
228
228
229
229
> [!IMPORTANT]
230
-
> See [Configure group claims for applications with Azure AD](../hybrid/how-to-connect-fed-group-claims.md) for more details including important caveats for the public preview of group claims from on-premises attributes.
230
+
> For more details including important caveats for the public preview of group claims from on-premises attributes, see [Configure group claims for applications with Azure AD](../hybrid/how-to-connect-fed-group-claims.md).
231
231
232
232
**Configuring groups optional claims through the UI:**
233
233
1. Sign in to the [Azure portal](https://portal.azure.com)
234
-
1. After you've authenticated, choose your Azure AD tenant by selecting it from the topright corner of the page
235
-
1. Select **Azure Active Directory** from the lefthand menu
234
+
1. After you've authenticated, choose your Azure AD tenant by selecting it from the top-right corner of the page
235
+
1. Select **Azure Active Directory** from the left-hand menu
236
236
1. Under the **Manage** section, select **App registrations**
237
237
1. Select the application you want to configure optional claims for in the list
238
238
1. Under the **Manage** section, select **Token configuration (preview)**
239
239
2. Select **Add groups claim**
240
-
3. Select the group types to return (**All Groups**, **SecurityGroup** or **DirectoryRole**). The **All Groups** option includes **SecurityGroup**, **DirectoryRole** and **DistributionList**
240
+
3. Select the group types to return (**All Groups**, **SecurityGroup**, or **DirectoryRole**). The **All Groups** option includes **SecurityGroup**, **DirectoryRole**, and **DistributionList**
241
241
4. Optional: click on the specific token type properties to modify the groups claim value to contain on premises group attributes or to change the claim type to a role
242
242
5. Click **Save**
243
243
244
244
**Configuring groups optional claims through the application manifest:**
245
245
1. Sign in to the [Azure portal](https://portal.azure.com)
246
-
1. After you've authenticated, choose your Azure AD tenant by selecting it from the topright corner of the page
247
-
1. Select **Azure Active Directory** from the lefthand menu
246
+
1. After you've authenticated, choose your Azure AD tenant by selecting it from the top-right corner of the page
247
+
1. Select **Azure Active Directory** from the left-hand menu
248
248
1. Select the application you want to configure optional claims for in the list
249
249
1. Under the **Manage** section, select **Manifest**
250
250
3. Add the following entry using the manifest editor:
251
251
252
252
The valid values are:
253
253
254
-
- "All" (this option includes SecurityGroup, DirectoryRole and DistributionList)
254
+
- "All" (this option includes SecurityGroup, DirectoryRole, and DistributionList)
255
255
- "SecurityGroup"
256
256
- "DirectoryRole"
257
257
@@ -360,33 +360,33 @@ In the example below, you will use the **Token configuration (preview)** UI and
360
360
361
361
1. Sign in to the [Azure portal](https://portal.azure.com)
362
362
363
-
1. After you've authenticated, choose your Azure AD tenant by selecting it from the topright corner of the page.
363
+
1. After you've authenticated, choose your Azure AD tenant by selecting it from the top-right corner of the page.
364
364
365
-
1. Select **Azure Active Directory** from the lefthand menu.
365
+
1. Select **Azure Active Directory** from the left-hand menu.
366
366
367
367
1. Under the **Manage** section, select **App registrations**.
368
368
369
369
1. Find the application you want to configure optional claims for in the list and click on it.
370
370
371
371
1. Under the **Manage** section, click **Token configuration (preview)**.
372
372
373
-
1. Select **Add optional claim**, select the **ID** token type, select **upn** from the list of claims and then click **Add**.
373
+
1. Select **Add optional claim**, select the **ID** token type, select **upn** from the list of claims, and then click **Add**.
374
374
375
-
1. Select **Add optional claim**, select the **Access** token type, select **auth_time** from the list of claims then click **Add**.
375
+
1. Select **Add optional claim**, select the **Access** token type, select **auth_time** from the list of claims, then click **Add**.
376
376
377
-
1. From the Token Configuration overview screen, click on the pencil icon next to **upn**, click the **Externally authenticated** toggle and then click **Save**.
377
+
1. From the Token Configuration overview screen, click on the pencil icon next to **upn**, click the **Externally authenticated** toggle, and then click **Save**.
378
378
379
-
1. Select **Add optional claim**, select the **SAML** token type, select **extn.skypeID** from the list of claims (only applicable if you've created an Azure AD user object called skypeID) and then click **Add**.
379
+
1. Select **Add optional claim**, select the **SAML** token type, select **extn.skypeID** from the list of claims (only applicable if you've created an Azure AD user object called skypeID), and then click **Add**.
380
380
381
381
[](./media/active-directory-optional-claims/token-config-example.png)
382
382
383
383
**Manifest configuration:**
384
384
1. Sign in to the [Azure portal](https://portal.azure.com).
385
-
1. After you've authenticated, choose your Azure AD tenant by selecting it from the topright corner of the page.
386
-
1. Select **Azure Active Directory** from the lefthand menu.
385
+
1. After you've authenticated, choose your Azure AD tenant by selecting it from the top-right corner of the page.
386
+
1. Select **Azure Active Directory** from the left-hand menu.
387
387
1. Find the application you want to configure optional claims for in the list and click on it.
388
388
1. Under the **Manage** section, click **Manifest** to open the inline manifest editor.
389
-
1. You can directly edit the manifest using this editor. The manifest follows the schema for the [Application entity].(https://docs.microsoft.com/azure/active-directory/develop/reference-app-manifest), and auto-formats the manifest once saved. New elements will be added to the `OptionalClaims` property.
389
+
1. You can directly edit the manifest using this editor. The manifest follows the schema for the [Application entity](https://docs.microsoft.com/azure/active-directory/develop/reference-app-manifest), and automatically formats the manifest once saved. New elements will be added to the `OptionalClaims` property.
0 commit comments