[英]Node.js CORS session cookie with Angular.js
我正在使用帶有CORS和Angular.js的Node.js進行簡單登錄。
那就是--- client.example.com
也在進行POST api.example.com/login
,在會話成功后,會話cookie也會在client.example.com
返回,並且也可以訪問api.example.com/secret
類的GET服務。 api.example.com/secret
受會話cookie保護。
發出不受會話cookie保護的GET請求不是問題。
最終,這里的目標是使用帶有本地策略(即用戶名和密碼)的CORS對REST API進行客戶端應用程序的身份驗證,即使上述約定不可能實現。
我找不到在任何地方學習的可行方法---向正確的方向指出嗎?
獎勵: 展示一個有效的例子。
您的問題非常簡單,瀏覽器不允許將在一個域中設置的cookie發送到另一個域。
這是出於安全考慮。 如果可以從任何域訪問您的會話cookie,則任何站點都可以執行csrf(根據定義,您要做的是csrf-使用來自其他站點中一個站點的會話)。
有很多解決方法,盡管在應用它們時應該小心。
最簡單的方法是使用Jsonp登錄並發出跨域請求,jsonp基本上破壞了cookie的跨域策略。
您可以將iFrame嵌入api.example.com
中的client.example.com
頁面中,父級和iFrame可以使用發布消息進行通信。
兩種方式都對csrf請求開放(就其性質而言),因此在允許client.example.com
訪問哪些信息時應格外小心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.