【发布时间】:2017-11-03 04:33:06
【问题描述】:
我正在为登录/注册功能使用 Angular-satellizer 扩展,但我被困在第 7 位。我无法将 JWT 保存到 localStorage。我在chrome中查看了开发者工具,但是没有token。
.controller('loginCtrl', function($scope, $state, $auth, jwtHelper, $window) {
$scope.login = function() {
$auth.login($scope.user)
.then(function(response) {
var gelenToken = response.data;
var tokenPayload = jwtHelper.decodeToken(gelenToken.token);
console.log(JSON.stringify(tokenPayload)); // Output:{"sub":"1","iat":1496346513,"exp":1497556113,"data":{"role":"admin"}}
$window.localStorage.setItem('token', JSON.stringify(tokenPayload));
$state.go('baba.manga');
})
};
})
【问题讨论】:
-
我不是 Angularjs 人,但我认为您不必使用
$window.localStorage,我认为localStorage会很好,除非 Angularjs 阻止您访问全局变量。不过,这可能不是您的解决方案。 -
另外,你想存储解码后的令牌还是编码后的令牌?
-
你们说得对。这次我可以在我的开发者工具中看到这个令牌。但是当我刷新页面时,它又消失了,satellizer 看不到令牌。
标签: javascript angularjs jwt satellizer