Node/Angularjs 应用在使用 angularjs ui 时未收到 JSON Web 令牌

Node/Angularjs app not receiving JSON Web Token when using angularjs ui

我正在制作一个由 JWT 进行身份验证的 MEAN 堆栈应用程序。这是处理令牌认证的脚本:

authenticationService.js

examApp.factory('authenticationService', ['$window', function ($window) {
var authToken = {};
var store = $window.localStorage;
var key = 'auth-token';
authToken.getToken = function () {
    return store.getItem(key);
}

authToken.setToken = function (token) {
    if (token) {
        store.setItem = (key, token);
    } else {
        store.removeItem(key);
    }
}

return authToken;}]);

现在,每当我登录到我的应用程序时,user/admin 都可以成功登录,但在控制台中,我没有收到任何显示 token=null 的令牌。

当我通过 POSTMAN 工具登录应用程序并在 token= 部分路由后手动复制粘贴令牌时,我可以执行任何任务,但通过 angularjs ui 登录, 我得到

Token authentication failed

我们将不胜感激。

您的代码在

处有问题
authToken.setToken = function (token) {
    if (token) {
        store.setItem = (key, token); // Here is the problem
    } else {
        store.removeItem(key);
    }
}

您正在分配 store.setItem,而您需要像下面那样执行 store.setItem

authToken.setToken = function (token) {
    if (token) {
        store.setItem(key, token);
    } else {
        store.removeItem(key);
    }
}