Javascript 如何将JWT保存到本地存储

Javascript 如何将JWT保存到本地存储,javascript,angularjs,jwt,satellizer,Javascript,Angularjs,Jwt,Satellizer,我正在使用角卫星扩展进行登录/注册功能,但我被困在第7位。我无法将JWT保存到本地存储。我检查了chrome中的开发者工具,但是没有令牌 .controller('loginCtrl', function($scope, $state, $auth, jwtHelper, $window) { $scope.login = function() { $auth.login($scope.user) .then(function(response) { var gelen

我正在使用角卫星扩展进行登录/注册功能,但我被困在第7位。我无法将JWT保存到本地存储。我检查了chrome中的开发者工具,但是没有令牌

.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');
    })
};
})

我在后端使用JWT和Angular 4和Node JS。我认为你不需要使用$window

  ......
  data => {  
    localStorage.setItem('token', data.token);
    localStorage.setItem('userId', data.userId);
    this.router.navigateByUrl('/');
  },
  ......

这应该是可行的,如果没有请链接到plunker/git,我会看一看

我正在使用JWT,在后端使用Angular 4和Node JS。我认为你不需要使用$window

  ......
  data => {  
    localStorage.setItem('token', data.token);
    localStorage.setItem('userId', data.userId);
    this.router.navigateByUrl('/');
  },
  ......
这应该是可行的,如果没有请链接到plunker/git,我会看一看

您可以同时使用:

localStorage.setItem('token',data.token)

$window.localStorage.token=JSON.stringify(data.token)

如果在页面刷新时将其删除,则需要检查是否已在某个位置重置了localStorage或某个脚本正在执行此操作

您可以同时使用以下两种方法:

localStorage.setItem('token',data.token)

$window.localStorage.token=JSON.stringify(data.token)


如果它在页面刷新时被删除,那么您需要检查您是否在某处重置了localStorage,或者某个脚本正在执行此操作

我不是Angularjs的人,但我认为您不必使用
$window.localStorage
,我认为
localStorage
会很好,除非Angularjs阻止您访问全局变量。但这可能不是你的解决方案。另外,你想存储解码令牌还是编码令牌?你们说得对。这次我可以在我的开发者工具中看到令牌。但是当我刷新页面时,它又消失了,satellizer没有看到令牌。我不是Angularjs的人,但我认为你不必使用
$window。localStorage
,我认为
localStorage
可以,除非Angularjs阻止你访问全局变量。但这可能不是你的解决方案。另外,你想存储解码令牌还是编码令牌?你们说得对。这次我可以在我的开发者工具中看到令牌。但是当我刷新页面时,它又消失了,卫星导航器没有看到标记。你是对的。这次我可以在我的开发者工具中看到令牌。但是当我刷新页面时,它又消失了,卫星导航器没有看到标记。你是对的。这次我可以在我的开发者工具中看到令牌。但当我刷新页面时,它又消失了,satellizer没有看到标记。