Microsoft Entra 身份验证中使用的 Web 浏览器 Cookie

通过 Web 浏览器向 Microsoft Entra ID 进行身份验证时,该过程涉及多个 Cookie。 某些 Cookie 在所有请求中通用。 其他 Cookie 用于特定的身份验证流或特定的客户端条件。

持久会话令牌作为持久性 Cookie 存储在 Web 浏览器的 Cookie jar 上。 非持久性会话令牌作为会话 Cookie 存储在 Web 浏览器上,在浏览器会话关闭时销毁。

Cookie 名称 类型 注释
ESTSAUTH 通用 包含用于辅助 SSO 的用户会话信息。 暂时。
ESTSAUTHPERSISTENT 通用 包含用于辅助 SSO 的用户会话信息。 永久性的。
ESTSAUTHLIGHT 常见 包含会话 GUID 信息。 专门由客户端 JavaScript 使用的简化会话状态 Cookie,用于帮助 OIDC 退出。安全功能。
登录状态Cookie 通用 包含为方便注销而访问的服务列表。无用户信息。 安全功能。
CCState 通用 包含要在 Microsoft Entra ID 和 Microsoft Entra 备份身份验证服务之间使用的会话信息状态。
构建 常见 跟踪浏览器相关信息。 用于服务遥测和保护机制。
fpc 通用 跟踪浏览器相关信息。 用于跟踪请求和限制。
esctx 通用 会话上下文 Cookie 信息。 用于 CSRF 保护。 将请求绑定到特定的浏览器实例,使得无法在浏览器外部重播请求。 无用户信息。
ch 通用 ProofOfPossessionCookie。 将所有权证明 Cookie 哈希存储到用户代理。
ESTSSC 常见 不再使用包含会话计数信息的旧 Cookie。
ESTSSSOTILES 通用 跟踪会话注销。当存在且未过期,且值为“ESTSSSOTILES=1”时,它会针对特定 SSO 身份验证模型中断 SSO,并会显示用于用户帐户选择的磁贴。
AADSSOTILES 通用 跟踪会话注销。类似于 ESTSSSOTILES,但针对其他特定的 SSO 身份验证模型。
ESTSUSERLIST 通用 跟踪浏览器 SSO 用户列表。
SSOCOOKIEPULLED 通用 防止在特定场景中出现循环。 无用户信息。
cltm 通用 用于遥测目的。 跟踪 AppVersion、ClientFlight 和网络类型。
brcap 通用 客户端 Cookie(由 JavaScript 设置),用于验证客户端/Web 浏览器的触控功能。
clrc 常见 客户端 Cookie(由 JavaScript 设置),用于控制客户端上的本地缓存会话。
CkTst 通用 客户端 Cookie(由 JavaScript 设置)。 不再处于活动使用状态。
wlidperf 通用 客户端 Cookie(由 JavaScript 设置),出于性能目的跟踪本地时间。
x-ms-gateway-slice 通用 用于跟踪和负载均衡目的的 Microsoft Entra 网关 Cookie。
stsservicecookie 通用 同样用于跟踪目的的 Microsoft Entra 网关 Cookie。
x-ms-refreshtokencredential 特定 在使用 主刷新令牌 (PRT) 时可用。
estsStateTransient 特定 仅适用于新的会话信息模型。 暂时。
estsStatePersistent 特定 与 estsStateTransient 相同,但具有持久性。
ESTSNCLOGIN 特定 与国家云登录相关的 Cookie。
UsGovTraffic 特定 美国政府云流量 Cookie。
ESTSWCTXFLOWTOKEN 特定 在重定向到 ADFS 时保存 flowToken 信息。
CcsNtv 特定 控制 Microsoft Entra 网关何时向 Microsoft Entra 备份身份验证服务发送请求。 本机流。
CcsWeb 特定 控制 Microsoft Entra 网关何时向 Microsoft Entra 备份身份验证服务发送请求。 Web 流程
Ccs* 特定 带前缀 Ccs* 的 Cookie 与不带前缀的 Cookie 具有相同的用途,但这仅在使用 Microsoft Entra 备份身份验证服务时适用。
threxp 特定 用于调节控制。
rrc 特定 用于识别近期B2B邀请兑换的Cookie。
调试 特定 用于检测用户的浏览器会话是否启用了 DebugMode 的 Cookie。
MSFPC 特定 此 Cookie 并非特定于任何 ESTS 流,但有时存在。 它适用于所有 Microsoft 站点(当用户接受时)。 识别访问 Microsoft 站点的唯一 Web 浏览器。 它用于广告、站点分析和其他运营目的。

注意

识别为客户端 Cookie 的 Cookie 由 JavaScript 在客户端设备上本地设置,因此将使用 HttpOnly=false 进行标记。

Cookie 定义和相应名称随时可能会根据 Microsoft Entra 服务要求进行更改。

当 Cookie 不可用时,Entra ID

在某些情况下,上面列出的 Cookie 可能无法完全提供给 Microsoft Entra ID。 这可能是由于使用不受支持的或非 Microsoft 的身份验证库、隐私功能以及特定于浏览器的行为等因素造成的,这些行为包括在 InPrivate 或 Incognito 浏览模式下的情况。

如果 cookie 未正确提供给Entra ID,则用户可能会遇到以下一个或多个问题:

  • 单一登录(SSO)无法按预期运行,系统会提示用户重新进行身份验证
  • 用户可能会看到意外的确认或同意对话框
  • 注销过程可能会在完成之前失败或终止(例如,参数 post_logout_redirect_uri 未被处理)

为了确保一致的可靠身份验证体验,Microsoft建议使用支持的浏览器和支持的客户端身份验证库,例如Microsoft Authentication Library(MSAL)。 这有助于确保正确处理 Cookie,身份验证和注销流按设计运行。

后续步骤

若要详细了解自助式密码重置概念,请参阅 Microsoft Entra 自助式密码重置的工作原理

若要详细了解多重身份验证概念,请参阅 Microsoft Entra 多重身份验证的工作原理