我正在用Ruby on Rails構建一個應用程序。該應用程序是一個Javascript應用程序,通過來自api
應用程序的JSON調用獲取數據。它還爲應用程序本身和api
提供跨域身份驗證。如何通過使用cookie身份驗證的Javascript獲取JSON數據?
我通過製作具有相同祕密會話密鑰和相同名稱的應用程序cookie來處理跨域身份驗證,例如_app_an_api_session
。
現在,我會寫下senario,當它失敗時我會告訴你。
的應用領域是domain.local
的API域api.domain.local
讓我們說api.domain.local/me
是受保護的頁面。當我打開它我得到unauthenticated
當我去申請和sign in
並再次去api.domain.local/me
,我可以看到它的數據。 [通過] [它也適用於相反的行動]。
的問題是,例如,sign in
後我想在domain.local
加載api.domain.local/me
內容[JSON數據],我可以在該status
是(canceled)
控制檯中看到。
另外爲了調試的緣故。我試圖在api
的每個請求上看到env
變量。所以,當我直接訪問api.domain.local/me
時,我可以在控制檯中看到cookies散列,如果通過實際應用程序查看,則根本沒有cookie /會話。
那麼,如何才能做到這一點是可能的呢?
跨域cookie可以正常工作,因爲兩個應用都共享一些auth cookie。問題是獲取'/我'的數據,需要通過Javascript授權 – amrnt
剛剛看到,給我一秒來更新答案。 – marc
它不起作用。我可以加載不需要認證的'/ user/2'。但我可以加載需要授權的'/ me'。 – amrnt