使用 angularjs ui 时节点/Angularjs 应用程序未接收 JSON Web 令牌
Posted
技术标签:
【中文标题】使用 angularjs ui 时节点/Angularjs 应用程序未接收 JSON Web 令牌【英文标题】:Node/Angularjs app not receiving JSON Web Token when using angularjs ui 【发布时间】:2018-05-18 16:23:34 【问题描述】:我正在制作一个通过 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;]);
现在,每当我登录我的应用程序时,用户/管理员都可以成功登录,但在控制台中,我没有收到任何显示 token=null 的令牌。
当我通过 POSTMAN 工具登录应用程序并在路由中的token=
部分之后手动复制粘贴令牌时,我可以执行任何任务,但通过 angularjs ui 登录,我得到了
令牌认证失败
任何帮助将不胜感激。
【问题讨论】:
尝试将store.setItem = (key, token);
固定为store.setItem(key, token);
【参考方案1】:
你的代码有问题
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);
【讨论】:
不知道这么简单的事情是怎么过去的。非常感谢您指出这一点。以上是关于使用 angularjs ui 时节点/Angularjs 应用程序未接收 JSON Web 令牌的主要内容,如果未能解决你的问题,请参考以下文章
为啥我使用 nodemon 和 ts-node 时节点检查器不启动?