Azure AD B2C 的 Cookie 定義

下列各節會提供 Azure Active Directory B2C (Azure AD B2C) 中所使用 Cookie 的相關資訊。

SameSite

Azure B2C 服務與 SameSite 瀏覽器組態相容,包括對 Secure 屬性的支援 SameSite=None

為了保護對於網站的存取,網頁瀏覽器會引進新的預設保護模型,以假設除非另有指定,否則所有 Cookie 都應到保護,而無法從外部存取。 Chrome 瀏覽器最先實作這項變更,從 2020 年 2 月的 Chrome 80 開始便已這麼做。 如需如何針對 Chrome 中的這項變更做好準備的詳細資訊,請參閱 Chromium 部落格上的開發人員:為新的 SameSite=None; Secure Cookie 做好準備

開發人員必須使用新的 Cookie 設定 (SameSite=None) 以指定跨網站存取的 Cookie。 當 SameSite=None 屬性存在時,就必須再使用 Secure 屬性才能透過 HTTPS 連線存取跨網站 Cookie。 請驗證並測試您的所有應用程式,包括使用 Azure AD B2C 的應用程式。

如需詳細資訊,請參閱

Cookie

下表列出 Azure AD B2C 中使用的 Cookie。

Name 網域 到期 目的
x-ms-cpim-admin main.b2cadmin.ext.azure.com 瀏覽器工作階段結束時 跨租用戶保存使用者成員資格資料。 使用者為其成員的租用戶,以及成員資格的層級 (管理員或使用者)。
x-ms-cpim-slice b2clogin.com、login.microsoftonline.com、品牌化網域 瀏覽器工作階段結束時 用來將要求路由至適當的生產執行個體。
x-ms-cpim-trans b2clogin.com、login.microsoftonline.com、品牌化網域 瀏覽器工作階段結束時 用於追蹤交易 (對 Azure AD B2C 提出的驗證要求數目) 和目前的交易。
x-ms-cpim-sso:{Id} b2clogin.com、login.microsoftonline.com、品牌化網域 瀏覽器工作階段結束時 用於維持 SSO 工作階段。 當 [讓我保持登入] 啟用時,此 Cookie 會設定為 persistent
x-ms-cpim-cache:{id}_n b2clogin.com、login.microsoftonline.com、品牌化網域 瀏覽器工作階段結束時、驗證成功 用於維持要求狀態。
x-ms-cpim-csrf b2clogin.com、login.microsoftonline.com、品牌化網域 瀏覽器工作階段結束時 用於保護 CRSF 的跨網站偽造要求權杖。 如需詳細資訊,請參閱跨網站偽造要求權杖章節。
x-ms-cpim-dc b2clogin.com、login.microsoftonline.com、品牌化網域 瀏覽器工作階段結束時 用於 Azure AD B2C 網路路由。
x-ms-cpim-ctx b2clogin.com、login.microsoftonline.com、品牌化網域 瀏覽器工作階段結束時 Context
x-ms-cpim-rp b2clogin.com、login.microsoftonline.com、品牌化網域 瀏覽器工作階段結束時 用於儲存資源提供者租用戶的成員資格資料。
x-ms-cpim-rc b2clogin.com、login.microsoftonline.com、品牌化網域 瀏覽器工作階段結束時 用於儲存轉送 Cookie。
x-ms-cpim-geo b2clogin.com、login.microsoftonline.com、品牌化網域 1 小時 用來做為提示來判斷資源租使用者住家地理位置。

跨網站偽造要求權杖

為防止跨網站偽造 (CSRF) 攻擊,Azure AD B2C 會套用同步器權杖策略機制。 如需此模式的詳細資訊,請參閱防止跨網站偽造要求一文。

Azure AD B2C 會產生同步器權杖,並將其新增至兩個位置:在標示為 x-ms-cpim-csrf 的 Cookie 中,以及名為 csrf_token 的查詢字串參數中,而該查詢字串參數位於傳送至 Azure AD B2C 的頁面 URL 中。 當 Azure AD B2C 服務處理來自瀏覽器的傳入要求時,該服務會確定權杖的查詢字串和 Cookie 版本都存在,而且兩者完全相符。 該服務也會驗證權杖內容的元素,為進行中的驗證確認預期的值。

例如,在註冊或登入頁面中,當使用者選取「忘記密碼」或「立即註冊」連結時,瀏覽器會將 GET 要求傳送至 Azure AD B2C,以載入下一頁的內容。 Azure AD B2C 額外選擇傳送和驗證同步器權杖的載入內容要求可作為額外的保護層,以確保載入頁面的要求是因為某項進行中的驗證。

同步器權杖是一種認證,不會識別使用者,而會繫結至作用中的唯一驗證工作階段。