角度$cookies不持久
Angular $cookies not persisting
我正在使用角度$resource来访问API。在这种特殊情况下,使用自定义登录操作,以便登录用户。
为了在身份验证后保存 API 提供的令牌,我将拦截器附加到自定义登录操作,该操作只是通过 $cookies将令牌保存到 cookie。
我正在使用拦截器,因为我需要从应用程序的其他部分保存和更新该cookie。
问题是 cookie 似乎没有持续存在。
如果我在保存后检查值,我可以确认它在那里,但是一旦我的$location被更改(例如在登录后呈现主页时),cookie就会消失。
有什么想法吗?
谢谢,D。
这是我的登录服务,它使用自定义登录操作和拦截器
(function() {
'use strict';
//Login Service
// Authenticates a user
angular
.module('console')
.factory('LoginService', LoginService);
LoginService.$inject = ['$resource', 'Config', 'UserInfoInterceptor'];
function LoginService($resource, Config, UserInfoInterceptor) {
return $resource(Config.api_url + '/auth/', {},
{
login: {
method: 'POST',
url: Config.api_url + '/auth/login',
data: {type: "passwd"},
interceptor: UserInfoInterceptor,
headers: {
"accept": "application/json",
"content-Type": "application/json;odata=verbose"
}
}
});
}
})();
这是拦截器(该控制台.log实际上写入了cookie值),但是在转到其他位置后立即丢失。
(function() {
'use strict';
angular
.module('console')
.factory('UserInfoInterceptor', UserInfoInterceptor);
UserInfoInterceptor.$inject = ['$resource', 'Config', '$q', '$location', '$cookies'];
function UserInfoInterceptor($resource, Config, $q, $location, $cookies) {
return {
// Save the received token
'response': function (response) {
var now = new Date();
// this will set the expiration to 30 days
var exp = new Date(now.getFullYear(), now.getMonth()+1, now.getDate());
// Set the cookie
$cookies.put('token', response.data.token, {expires: exp});
//This actually works!!
console.log($cookies.get('token'));
return response;
},
// Whatever is the failure, throw the user to the login page
'responseError': function (response) {
if (response.status === 401 || response.status === 403) {
$location.path('/login');
}
return $q.reject(response);
}
};
}
这为时已晚,但我认为此修复程序也可能帮助其他人。
我尝试在$cookiesProvider
中设置cookie路径,如下所示,
xxApp.config(['$cookiesProvider', function ($cookiesProvider) {
$cookiesProvider.defaults.path = '/';
}]);
相关文章:
- Javascript Cookies在Safari中不起作用
- AngularJs的$cookies在过期时间内不起作用
- 角度$cookies不持久
- Ember简单身份验证不持久刷新's
- Chrome应用程序本地存储不持久,Chrome.storage不工作
- 剑道UI网格-更新不持久
- Android浏览器不尊重cookies被禁用
- 函数调用后array1.concat(array2)不持久的影响
- $rootScope和UI-Router Resolve不持久的问题
- localStorage和'文件:'协议不持久,SQLite给出SECURITY_ERR
- localStorage.刷新时setItem不持久
- Jquery在回调淡出淡出不持久
- JavaScript更改图像源不持久
- 三星智能电视开发问题:cookie不持久
- 加载新页面时计数器变量不持久
- 使用KineticJS时,画布图像不持久
- 对于新的动态创建的元素,单击事件不持久
- PHP会话对AJAX不持久
- 控制器之间的值变化是不持久的
- Ionic LocalStorage——数据不持久