從授權服務器中檢索訪問令牌後,在AngularJS中存儲訪問令牌的最佳做法是什麼?我看到很多使用localStorage服務的建議,但後來我讀過其他一些說不使用localStorage來存儲令牌的帖子/博客,這是不安全的。AngularJS訪問令牌安全問題
我很難把頭繞過由於像上面這樣的混合信息,Angular的安全性。
從授權服務器中檢索訪問令牌後,在AngularJS中存儲訪問令牌的最佳做法是什麼?我看到很多使用localStorage服務的建議,但後來我讀過其他一些說不使用localStorage來存儲令牌的帖子/博客,這是不安全的。AngularJS訪問令牌安全問題
我很難把頭繞過由於像上面這樣的混合信息,Angular的安全性。
我認爲,
當驗證cookie的
Angularjs自動在每個$ HTTP請求添加頁眉,
AngularAppFactory.GetApp=function(appName){
var app = angular.module(appName, []);
app.factory('httpRequestInterceptor', ['$rootScope', function($rootScope)
{
return {
request: function($config) {
if($rootScope.user.authToken)
{
$config.headers['id'] = $rootScope.user.id;
$config.headers['auth-token'] = $rootScope.user.authToken;
}
return $config;
}
};
}]);
app.config(function ($httpProvider) {
$httpProvider.interceptors.push('httpRequestInterceptor');
});
return app;
}
//Whenever you need to get new angular app, you can call this function.
app = AngularAppFactory.GetApp('appName');
我正在努力做到這一點。我缺少一些實現細節。我有一個asp.net mvc應用程序,它只處理登錄邏輯,設置一個auth cookie,然後重定向到角度應用程序。登錄邏輯涉及在不同服務器上的Web API上調用令牌端點。當我回來時,我將該標記存儲在cookie中。但是,如何從角度將該令牌發送回webapi,而無需將其手動放入授權頭中? – user3410575 2014-09-05 20:19:17
暗示本地有什麼聯繫你有存儲不是一個好主意? – 2014-09-05 22:02:33
我沒有他們的方便,但會再次挖掘它們。我熟悉你和Dominick的工作,並且很樂意聽到你的意見,將它存儲在本地存儲中。這是你會推薦的嗎? – user3410575 2014-09-05 23:05:58
我認爲本地存儲是好的,只要你知道它是如何工作的。從某種意義上說,它與用於網站登錄的永久性cookie沒什麼區別。 – 2014-09-11 04:04:55