簡體   English   中英

Angular.js的Node.js CORS會話cookie

[英]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.

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