我正在从https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/学习JWT令牌认证 。 我试图实现它。它运行正常。在认证之后,控件返回到同一页面。我的问题是我们如何从客户端控制器重定向到新的html页面(限制资源,当然!)?
我尝试过像
这样的事情 $scope.submit = function () {
$http.post("http://localhost:3000/authenticate?uname=" + $scope.username + "&pwd=" + $scope.password + "")
.success(function (data, status, headers, config) {
$window.sessionStorage.token = data.token;// Save jwt in the sessionStorage
$scope.isAuthenticated = true;
var encodedProfile = data.token.split('.')[1];
var profile = JSON.parse(url_base64_decode(encodedProfile));
console.log('encoded profile is ' + profile);
window.location.href="api/admin.html";
})
.error(function (data, status, headers, config) {
// Erase the token if the user fails to log in
delete $window.sessionStorage.token;
$scope.isAuthenticated = false;
// Handle login errors here
$scope.error = 'Error: Invalid user or password';
$scope.welcome = '';
});
};
页面重定向总是会导致admin.html出现“UnauthorizedError”,这会在服务器中捕获。有什么帮助吗?