Skip to content

Commit 49b0217

Browse files
authored
Merge pull request #220580 from Justinha/cookies
Cookies
2 parents 989c3b7 + 12a397e commit 49b0217

File tree

3 files changed

+79
-48
lines changed

3 files changed

+79
-48
lines changed

articles/active-directory/authentication/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@
8484
href: concept-registration-mfa-sspr-combined.md
8585
- name: Resilient access controls
8686
href: concept-resilient-controls.md
87+
- name: Web browser cookies
88+
href: concept-authentication-web-browser-cookies.md
8789
- name: How-to guides
8890
items:
8991
- name: Manage authentication methods
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
title: Web browser cookies used in Azure Active Directory authentication
3+
description: Learn about Web browser cookies used in Azure Active Directory authentication.
4+
5+
services: active-directory
6+
ms.service: active-directory
7+
ms.subservice: authentication
8+
ms.topic: overview
9+
ms.date: 12/06/2022
10+
11+
ms.author: justinha
12+
author: custorod
13+
manager: amycolannino
14+
ms.reviewer: sahenry, michmcla
15+
16+
ms.collection: M365-identity-device-management
17+
18+
# Customer intent: As an Azure AD administrator, I want to understand which weh browser cookies are used for Azure AD.
19+
---
20+
# Web browser cookies used in Azure Active Directory authentication
21+
22+
During authentication against Azure Active Directory (Azure AD) through a web browser, multiple cookies are involved in the process. Some of the cookies are common on all requests. Other cookies are used for specific authentication flows or specific client-side conditions.
23+
24+
Persistent session tokens are stored as persistent cookies on the web browser's cookie jar. Non-persistent session tokens are stored as session cookies on the web browser, and are destroyed when the browser session is closed.
25+
26+
| Cookie Name | Type | Comments |
27+
|--|--|--|
28+
| ESTSAUTH | Common | Contains user's session information to facilitate SSO. Transient. |
29+
| ESTSAUTHPERSISTENT | Common | Contains user's session information to facilitate SSO. Persistent. |
30+
| ESTSAUTHLIGHT | Common | Contains Session GUID Information. Lite session state cookie used exclusively by client-side JavaScript in order to facilitate OIDC sign-out. Security feature. |
31+
| SignInStateCookie | Common | Contains list of services accessed to facilitate sign-out. No user information. Security feature. |
32+
| CCState | Common | Contains session information state to be used between Azure AD and the [Azure AD Backup Authentication Service](../conditional-access/resilience-defaults.md). |
33+
| buid | Common | Tracks browser related information. Used for service telemetry and protection mechanisms. |
34+
| fpc | Common | Tracks browser related information. Used for tracking requests and throttling. |
35+
| esctx | Common | Session context cookie information. For CSRF protection. Binds a request to a specific browser instance so the request can't be replayed outside the browser. No user information. |
36+
| ch | Common | ProofOfPossessionCookie. Stores the Proof of Possession cookie hash to the user agent. |
37+
| ESTSSC | Common | Legacy cookie containing session count information no longer used. |
38+
| ESTSSSOTILES | Common | Tracks session sign-out. When present and not expired, with value "ESTSSSOTILES=1", it will interrupt SSO, for specific SSO authentication model, and will present tiles for user account selection. |
39+
| AADSSOTILES | Common | Tracks session sign-out. Similar to ESTSSSOTILES but for other specific SSO authentication model. |
40+
| ESTSUSERLIST | Common | Tracks Browser SSO user's list. |
41+
| SSOCOOKIEPULLED | Common | Prevents looping on specific scenarios. No user information. |
42+
| cltm | Common | For telemetry purposes. Tracks AppVersion, ClientFlight and Network type. |
43+
| brcap | Common | Client-side cookie (set by JavaScript) to validate client/web browser's touch capabilities. |
44+
| clrc | Common | Client-side cookie (set by JavaScript) to control local cached sessions on the client. |
45+
| CkTst | Common | Client-side cookie (set by JavaScript). No longer in active use. |
46+
| wlidperf | Common | Client-side cookie (set by JavaScript) that tracks local time for performance purposes. |
47+
| x-ms-gateway-slice | Common | Azure AD Gateway cookie used for tracking and load balance purposes. |
48+
| stsservicecookie | Common | Azure AD Gateway cookie also used for tracking purposes. |
49+
| x-ms-refreshtokencredential | Specific | Available when [Primary Refresh Token (PRT)](../devices/concept-primary-refresh-token.md) is in use. |
50+
| estsStateTransient | Specific | Applicable to new session information model only. Transient. |
51+
| estsStatePersistent | Specific | Same as estsStateTransient, but persistent. |
52+
| ESTSNCLOGIN | Specific | National Cloud Login related Cookie. |
53+
| UsGovTraffic | Specific | US Gov Cloud Traffic Cookie. |
54+
| ESTSWCTXFLOWTOKEN | Specific | Saves flowToken information when redirecting to ADFS. |
55+
| CcsNtv | Specific | To control when Azure AD Gateway will send requests to [Azure AD Backup Authentication Service](../conditional-access/resilience-defaults.md). Native flows. |
56+
| CcsWeb | Specific | To control when Azure AD Gateway will send requests to [Azure AD Backup Authentication Service](../conditional-access/resilience-defaults.md). Web flows. |
57+
| Ccs* | Specific | Cookies with prefix Ccs*, have the same purpose as the ones without prefix, but only apply when [Azure AD Backup Authentication Service](../conditional-access/resilience-defaults.md) is in use. |
58+
| threxp | Specific | Used for throttling control. |
59+
| rrc | Specific | Cookie used to identify a recent B2B invitation redemption. |
60+
| debug | Specific | Cookie used to track if user's browser session is enabled for DebugMode. |
61+
| MSFPC | Specific | This cookie is not specific to any ESTS flow, but is sometimes present. It applies to all Microsoft Sites (when accepted by users). Identifies unique web browsers visiting Microsoft sites. It's used for advertising, site analytics, and other operational purposes. |
62+
63+
> [!NOTE]
64+
> Cookies identified as client-side cookies are set locally on the client device by JavaScript, hence, will be marked with HttpOnly=false.
65+
>
66+
> Cookie definitions and respective names are subject to change at any moment in time according to Azure AD service requirements.
67+
68+
## Next steps
69+
70+
To learn more about self-service password reset concepts, see [How Azure AD self-service password reset works][concept-sspr].
71+
72+
To learn more about multi-factor authentication concepts, see [How Azure AD Multi-Factor Authentication works][concept-mfa].
73+
74+
<!-- INTERNAL LINKS -->
75+
[concept-sspr]: concept-sspr-howitworks.md
76+
[concept-mfa]: concept-mfa-howitworks.md
77+

articles/active-directory/authentication/overview-authentication.md

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -87,54 +87,6 @@ When you sign in with a passwordless method, credentials are provided by using m
8787

8888
Azure AD provides ways to natively authenticate using passwordless methods to simplify the sign-in experience for users and reduce the risk of attacks.
8989

90-
## Web browser cookies
91-
92-
When authenticating against Azure Active Directory through a web browser, multiple cookies are involved in the process. Some of the cookies are common on all requests, other cookies are specific to some particular scenarios, i.e., specific authentication flows and/or specific client-side conditions.
93-
94-
Persistent session tokens are stored as persistent cookies on the web browser's cookie jar, and non-persistent session tokens are stored as session cookies on the web browser and are destroyed when the browser session is closed.
95-
96-
| Cookie Name | Type | Comments |
97-
|--|--|--|
98-
| ESTSAUTH | Common | Contains user's session information to facilitate SSO. Transient. |
99-
| ESTSAUTHPERSISTENT | Common | Contains user's session information to facilitate SSO. Persistent. |
100-
| ESTSAUTHLIGHT | Common | Contains Session GUID Information. Lite session state cookie used exclusively by client-side JavaScript in order to facilitate OIDC sign-out. Security feature. |
101-
| SignInStateCookie | Common | Contains list of services accessed to facilitate sign-out. No user information. Security feature. |
102-
| CCState | Common | Contains session information state to be used between Azure AD and the [Azure AD Backup Authentication Service](../conditional-access/resilience-defaults.md). |
103-
| buid | Common | Tracks browser related information. Used for service telemetry and protection mechanisms. |
104-
| fpc | Common | Tracks browser related information. Used for tracking requests and throttling. |
105-
| esctx | Common | Session context cookie information. For CSRF protection. Binds a request to a specific browser instance so the request can't be replayed outside the browser. No user information. |
106-
| ch | Common | ProofOfPossessionCookie. Stores the Proof of Possession cookie hash to the user agent. |
107-
| ESTSSC | Common | Legacy cookie containing session count information no longer used. |
108-
| ESTSSSOTILES | Common | Tracks session sign-out. When present and not expired, with value "ESTSSSOTILES=1", it will interrupt SSO, for specific SSO authentication model, and will present tiles for user account selection. |
109-
| AADSSOTILES | Common | Tracks session sign-out. Similar to ESTSSSOTILES but for other specific SSO authentication model. |
110-
| ESTSUSERLIST | Common | Tracks Browser SSO user's list. |
111-
| SSOCOOKIEPULLED | Common | Prevents looping on specific scenarios. No user information. |
112-
| cltm | Common | For telemetry purposes. Tracks AppVersion, ClientFlight and Network type. |
113-
| brcap | Common | Client-side cookie (set by JavaScript) to validate client/web browser's touch capabilities. |
114-
| clrc | Common | Client-side cookie (set by JavaScript) to control local cached sessions on the client. |
115-
| CkTst | Common | Client-side cookie (set by JavaScript). No longer in active use. |
116-
| wlidperf | Common | Client-side cookie (set by JavaScript) that tracks local time for performance purposes. |
117-
| x-ms-gateway-slice | Common | Azure AD Gateway cookie used for tracking and load balance purposes. |
118-
| stsservicecookie | Common | Azure AD Gateway cookie also used for tracking purposes. |
119-
| x-ms-refreshtokencredential | Specific | Available when [Primary Refresh Token (PRT)](../devices/concept-primary-refresh-token.md) is in use. |
120-
| estsStateTransient | Specific | Applicable to new session information model only. Transient. |
121-
| estsStatePersistent | Specific | Same as estsStateTransient, but persistent. |
122-
| ESTSNCLOGIN | Specific | National Cloud Login related Cookie. |
123-
| UsGovTraffic | Specific | US Gov Cloud Traffic Cookie. |
124-
| ESTSWCTXFLOWTOKEN | Specific | Saves flowToken information when redirecting to ADFS. |
125-
| CcsNtv | Specific | To control when Azure AD Gateway will send requests to [Azure AD Backup Authentication Service](../conditional-access/resilience-defaults.md). Native flows. |
126-
| CcsWeb | Specific | To control when Azure AD Gateway will send requests to [Azure AD Backup Authentication Service](../conditional-access/resilience-defaults.md). Web flows. |
127-
| Ccs* | Specific | Cookies with prefix Ccs*, have the same purpose as the ones without prefix, but only apply when [Azure AD Backup Authentication Service](../conditional-access/resilience-defaults.md) is in use. |
128-
| threxp | Specific | Used for throttling control. |
129-
| rrc | Specific | Cookie used to identify a recent B2B invitation redemption. |
130-
| debug | Specific | Cookie used to track if user's browser session is enabled for DebugMode. |
131-
| MSFPC | Specific | This cookie is not specific to any ESTS flow, but is sometimes present. It applies to all Microsoft Sites (when accepted by users). Identifies unique web browsers visiting Microsoft sites. It's used for advertising, site analytics, and other operational purposes. |
132-
133-
> [!NOTE]
134-
> Cookies identified as client-side cookies are set locally on the client device by JavaScript, hence, will be marked with HttpOnly=false.
135-
>
136-
> Cookie definitions and respective names are subject to change at any moment in time according to Azure AD service requirements.
137-
13890
## Next steps
13991

14092
To get started, see the [tutorial for self-service password reset (SSPR)][tutorial-sspr] and [Azure AD Multi-Factor Authentication][tutorial-azure-mfa].

0 commit comments

Comments
 (0)