gpt4 book ai didi

javascript - 如何防止 jwt token 在 angularjs 应用程序的页面刷新时丢失?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:28:06 24 4
gpt4 key购买 nike

我正在尝试使用 jwt token 授权用户。但是如果我刷新页面,jwt 就会丢失并且 token 不会在后续请求中发送到服务器。我正在使用 localstorage 存储 token 和 spring-mvc 作为后端。这是我创建的服务:

'use strict';
angular.module('authentication')
.factory('AuthenticationService', ['$http', '$localStorage',
'$rootScope','$route', '$q', function($http, $localStorage, $rootScope,
$route, $q){
var service = {loggedInUser: function(){
return $q.when($rootScope.user)
}};
service.Login = Login;
service.Logout = Logout;

return service;

function Login(username, password, callback){
$http.post('http://172.16.0.26:7001/Taisys_Server_Current/auth',
{username:username, password:password})
.success(function (response){
if(response.token){
$localStorage.currentUser = {username:username,
token:response.token};

$http.defaults.headers.common.Authorization = 'Bearer' + response.token;

$rootScope.user= $localStorage.currentUser;

$rootScope.token = response.token;


callback(true);
}
else{
callback(false);
}
});
}
function Logout(){
delete $localStorage.currentUser;
$http.defaults.headers.common.Authorization = '';
$route.reload();
}
}]);

最佳答案

如果您已经登录,则必须使用它。

$http.defaults.headers.common.Authorization = 'Bearer' + $localStorage.currentUser.token;

关于javascript - 如何防止 jwt token 在 angularjs 应用程序的页面刷新时丢失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38304344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com