(舊版) Cookie更新 — SameSite和Secure標幟 cookies-updates---samesite-and-secure-flags
更新 Updates
本節重點說明Chrome瀏覽器和Adobe Pass驗證所推出的處理第三方Cookie的變更。
Chrome 80更新 Chrome
從Chrome 80版(82版除外)開始,未指定 SameSite 屬性的Cookie會被視為是 SameSite=Lax。 因此,需要在跨網站內容中傳遞的Cookie必須明確指定 SameSite=None,且必須標示 Secure 屬性並透過 HTTPS 傳遞。 如需這些更新的詳細資訊,請參閱官方Chromium頁面: https://www.chromium.org/updates/same-site以及https://web.dev/samesite-cookies-explained/。
Adobe Pass驗證更新 Pass-Updates
Adobe Pass Authentication Service目前仰賴從瀏覽器觀點視為第三方Cookie的一些Cookie (包括Chrome),以便與某些平台和版本的Adobe Pass Authentication SDK搭配運作。 因此,為了符合即將到來的變更並繼續從這些舊版SDK在跨網站內容中傳送這些Cookie,Adobe Pass驗證服務會在 adobe-pass-2.55.1 版本中實作必要的變更。
從 adobe-pass-2.55.1 版進行的這些變更,涉及在使用80版及以上版本的Chrome瀏覽器(82版除外)時,為傳回至所有Adobe Pass驗證SDK的所有Cookie新增 Secure 和 SameSite=None 屬性。
下一節將列出平台和Adobe Pass Authentication SDK版本的一些潛在問題,以防一位使用者使用Chrome瀏覽器80及更高版本(版本82除外)。
疑難排解 Troubleshooting
瀏覽本節時,請記住,所有Adobe Pass驗證服務Cookie都必須針對所有瀏覽器在 adobe-pass-2.55.1 版本中設定 安全 屬性,而 SameSite=None 屬性僅針對Chrome 80版及更高版本(82版除外)設定。
一般疑難排解 General
-
請注意,某些使用者代理程式已知與 SameSite=None 屬性不相容。
- 從Chrome 51到Chrome 66的Chrome版本(兩端包含)。 這些Chrome版本將拒絕 SameSite=None 的Cookie。 這也會影響舊版的Chromium衍生瀏覽器以及Android WebView。 根據Cookie當時的規格版本,此行為正確,但隨著規格中新增了「無」值,此行為已在Chrome 67及更新版本中更新。 (在Chrome 51之前,SameSite屬性會被完全忽略,所有Cookie都會被視為是 SameSite=None。)
- Android 12.13.2版之前的UC瀏覽器版本。較舊版本會拒絕 SameSite=None 的Cookie。 根據當時Cookie規格的版本,此行為正確,但規格中新增了「無」值,因此較新版本的UC瀏覽器已更新此行為。
- macOS 10.14上的Safari和嵌入式瀏覽器版本,以及iOS 12上的所有瀏覽器。 這些版本會錯誤地將 SameSite=None 標籤的Cookie視為標籤為 SameSite=Strict。 較新版本的iOS和MacOS已修正此錯誤。
-
需要注意的是,具有 Secure 屬性的Cookie必須透過 HTTPS 傳送,否則該Cookie將無法連線Adobe Pass驗證服務。
- AccessEnabler JavaScript SDK:
- 在引入動態使用者端註冊之前,與 sp.auth.adobe.com 的通訊必須使用 HTTPS (針對版本 2.35 和 3.5.0)。
- AccessEnabler iOS/tvOS SDK:
- 引入動態使用者端註冊之前,與 sp.auth.adobe.com 的通訊必須針對 3.0.0 之前的版本使用 HTTPS。
- AccessEnabler Android SDK:
- 引入動態使用者端註冊之前,與 sp.auth.adobe.com 的通訊必須針對 3.0.0 之前的版本使用 HTTPS。
- AccessEnabler FireOS SDK:
- 與 sp.auth.adobe.com 的通訊必須使用 HTTPS (版本 2.0.4)。
- AccessEnabler JavaScript SDK:
AccessEnabler JavaScript SDK 2.35版疑難排解 235-Troubleshooting
在Chrome 80及更高版本(82版除外)中,使用者的驗證流程可能會受到影響。 為了確保使用者不會因上述更新而遇到驗證問題,您可以:
- 檢查瀏覽器中是否已設定 JSESSIONID Cookie,以及是否已設定 SameSite=None 和 Secure 屬性。
- 檢查 https://sp.auth.adobe.com/authenticate/saml 網路請求中的 JSESSIONID Cookie是否符合來自 https://sp.auth.adobe.com/session 網路請求的 JSESSIONID Cookie。
AccessEnabler JavaScript SDK 3.5.0版疑難排解 350-Troubleshooting
在Chrome 80及更高版本(82版除外)中,使用者的驗證流程可能會受到影響。 為了確保使用者不會因上述更新而遇到驗證問題,您可以:
- 檢查瀏覽器中是否已設定 JSESSIONID Cookie,以及是否已設定 SameSite=None 和 Secure 屬性。
- 檢查 https://sp.auth.adobe.com/authenticate/saml 網路請求中的 JSESSIONID Cookie是否符合來自 https://sp.auth.adobe.com/session 網路請求的 JSESSIONID Cookie。
- 檢查瀏覽器中是否已設定 pass_sfp Cookie,以及是否已設定 SameSite=None 和 Secure 屬性。
- 檢查 pass_sfp Cookie是否已設定在 https://sp.auth.adobe.com/session 網路要求中。
在Chrome 80及更高版本(82版除外)中,使用者的授權流程可能會受到影響。 為了確保使用者在成功通過驗證後沒有觀看受保護資源的困難,您可以透過以下方式更新資源:
- 檢查瀏覽器中是否已設定 pass_sfp Cookie,以及是否已設定 SameSite=None 和 Secure 屬性。
- 檢查 pass_sfp Cookie是否已設定在 https://sp.auth.adobe.com/adobe-services/authorize 網路要求中。
- 檢查 pass_sfp Cookie是否已設定在 https://sp.auth.adobe.com/adobe-services/shortAuthorize 網路要求中。