簡體   English   中英

為什么 Firebase 在自定義托管域上顯示第三方 cookies?

[英]Why is Firebase showing third party cookies on a custom hosting domain?

我剛剛使用 Firebase 托管設置了我的自定義域,我們稱之為mydomain.example.com

當我在 Firefox 中導航到它時,它會在域旁邊顯示一個切換,單擊時會顯示:

在此處輸入圖像描述

編輯部分是我的 firebase 項目 ID,完整域是 Firebase 托管的默認域之一。

這里到底發生了什么,我該如何改變行為,以免導致這些跨站點 cookies? 這是否與 Google Auth 提供程序有關,我還注意到它沒有在彈出窗口 window 中使用新的自定義域(而是使用默認域之一)進行登錄?

這是 Firebase Auth SDK 的已知問題。 它與 Google Auth 提供程序無關。 問題是 Firebase Auth SDK 使用 cookie 來存儲用戶的 session。 cookie 設置為 Firebase 項目的域,這是 Firebase 托管的默認域。 cookie 設置為安全的,因此它不會通過 HTTP 發送,而是通過 HTTPS 發送。 cookie 也設置為 SameSite=Lax,這意味着它不會在跨站點請求上發送,除非請求是 GET 請求。 cookie 不會在作為 POST 請求的跨站點請求上發送,登錄彈出窗口就是這種情況。 cookie 是在 GET 請求的跨站點請求上發送的,主頁就是這種情況。 要解決此問題,您可以將 cookie 策略設置為 SameSite=None。 這將允許跨站點請求發送 cookie,但也需要將 cookie 標記為安全。 這意味着 cookie 將僅通過 HTTPS 發送。 如果您使用的是自定義域,則需要為您的自定義域設置 HTTPS。 如果您使用默認域,則需要為您的默認域設置 HTTPS。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM