从授权服务器中检索访问令牌后,在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