2 回答

TA貢獻1951條經(jīng)驗 獲得超3個贊
您仍然可以訪問用戶 ID。
您在 api.domain.com 上的 API 服務器可以在登錄時將 ID 保存在會話 cookie 中。cookie 將用于
api.domain.com
域。默認情況下使用gorilla/sessions來獲取簽名的 cookie。www.example.com
由于瀏覽器對 cookie 強制執(zhí)行的同源策略,(不同域)上的 Angular 客戶端將根本無法讀取/寫入cookie,但仍會在 AJAX 請求中將 cookie 發(fā)送回api.domain.com
服務器。
根據(jù) Angular 文檔(https://docs.angularjs.org/api/ng/service/ $http),您需要設置withCredentials = true
在跨域請求上發(fā)送 cookie(參考:Mozilla CORS 文檔)。發(fā)出請求以獲取 cookie(例如通過 HTTPS POST 登錄憑據(jù)),然后連續(xù)的 AJAX 請求將將該 cookie 呈現(xiàn)給服務器。
另一種方法是發(fā)布 OAuth2 不記名令牌(“令牌身份驗證”),在后端(Redis、Bolt、mySQL 等)中記錄令牌 <=> 用戶 ID,并讓 Angular 應用程序將其保存在本地存儲中并將其發(fā)送到每個請求的頭部。
- 2 回答
- 0 關注
- 208 瀏覽
添加回答
舉報