簡體   English   中英

余燼cookie與服務器cookie

[英]ember cookie vs server cookie

我正在使用Ember和Ember-simple-auth。 這個問題是為了消除我對cookie等的困惑。

我已將余燼存儲配置為Cookie。

我的服務器正在發送一個cookie,該cookie將保存在客戶端。

Set-Cookie: dejavu.session=WwwLQjdfOoNz_-bhyYpBLvzew7IUaJuu; Path=/; Expires=Mon, 28-May-2018 15:59:30 GMT

我了解

  1. 瀏覽器會自動從標頭中的set-cookie捕獲cookie(這意味着它應該在dev工具中可見)

  2. 瀏覽器會在后續請求中自動添加此Cookie。

  3. 我不需要對Ember Simple Auth進行任何其他操作,因為服務器Cookie默認情況下是由瀏覽器處理的。

基於這種理解,在Chrome檢查器中,我只看到一個ember-simple-auth cookie,沒有其他東西。

我的問題是:

1-我是否應該在開發工具中看到一個單獨的cookie(從服務器發送的cookie)以及Ember cookie(由Ember simple Auth設置)? 還是我的服務器Cookie必須嵌入到Ember Cookie中? 我實際上在開發工具上看不到服務器cookie,因此感到困惑。

2-這個正確的概念是將ember cookie存儲為Ember,但將服務器cookie作為瀏覽器捕獲並在后續請求中發送標頭的服務器cookie?

好。 經過大量的測試和探索,我找到了解決方案。 我的兩個問題的答案是:

chrome開發工具中存在一個錯誤,該錯誤不會顯示從服務器發送的cookie。 我們不需要將服務器cookie嵌入ember cookie。 瀏覽器本身管理cookie。 僅服務器必須發送一個cookie,然后瀏覽器將對其進行管理,例如,如果cookie過期,則將其丟棄,然后將其自動添加到每個隨后通過api發送的請求的標頭中。 我們可以在開發工具的“網絡”標簽中的請求標題下看到發送請求時的Cookie。

使用會話cookie和Ember-simple-auth,我們不需要在標頭中設置授權者(用於在標頭中添加cookie),因為這將覆蓋會話cookie(由瀏覽器設置)。

因此,當使用Ember-simple-auth和會話身份驗證時,正確的流程是:

  1. 添加插件

  2. 設置驗證器(遵循github docs)

  3. 不要設置授權者(如文檔中所述)

暫無
暫無

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

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