我正在構建一個需要通過AJAX與RoR Web應用程序進行交互的小部件(使用JavaScript)。爲用戶的工作流程是這樣的:AJAX請求 - Cookie身份驗證
- 登錄RoR的Web應用程序
- 獲取瀏覽器擴展或書籤(兩者共用同一個代碼庫),取其
- 去一個網站並激活控件 你想在該網站上
- 點東西得到保存,按OK
- 你回來在Web應用程序的URL與所採集內容
在widget代碼的工作流程看起來是這樣的:從DOM
- 收集的東西,並簽發相應的jQuery的JSONP請求
- 如果有在響應讀「未經授權」,打開有一個
<iframe />
自定義狀態消息從Web應用程序發起授權頁 - 如果身份驗證是成功的響應有一個Set-Cookie
報頭中設置身份驗證cookie的需要後續的AJAX requets - 是否有過身份驗證需要,嘗試JSONP請求再次
這隻適用於書籤。但是,對於Firefox擴展程序,Web應用程序會收到刪除auth cookie的請求。事實上,所有的曲奇都沒有。似乎請求被沙箱化。 現在我知道有@mozilla.org/cookieService
可用於擴展。問題是:
- 如何將cookie從擴展的main.js傳遞到內容腳本中的JSONP請求?
- 我該如何獲得開發環境的cookie,url localhost:3000?
cookieService
返回null作爲該網址的Cookie - 是否可以更改從cookie到其他身份驗證的解析方式?