使用者 JWT 作為僅 HTTP cookie 傳送到瀏覽器。我的問題是,向瀏覽器傳達顯示名稱和使用者資料庫 ID 等的最佳方式是什麼?
我知道資訊可以並且確實在 JWT 有效負載中設置,但是使該 cookie (JWT) 對客戶端 JavaScript 不可用不是最佳實踐嗎?
我可以想到兩種方法 - 設定自訂回應標頭,或在 元素中以 JSON 形式發送資料。可以這麼說,這個想法是將其發送到帶外。
我想保持符合標準。
我認為正確的答案是設定無快取回應標頭,然後將傳回的資訊儲存在 localStorage 中,但想問...
P粉2758839732023-09-16 12:51:57
可以將多個 cookie 傳送到瀏覽器,並且可以選擇性地將它們標記為 HTTP Only,如下所示。此外,您的伺服器可以傳送資料/JSON 來回應您的瀏覽器 XHR/Fetch 請求。
let cookieArray = []; cookieArray.push(`displayName=${displayName}`); cookieArray.push(`id=${id}`); cookieArray.push(`email=${email}`); cookieArray.push(`token=${cookie}; HttpOnly`); response.setHeader('Set-Cookie', cookieArray);
結果: