gpt4 book ai didi

javascript - 即使用户已登录,环回也会抛出 accessToken undefined

转载 作者:行者123 更新时间:2023-11-28 05:48:27 25 4
gpt4 key购买 nike

我正在开发一个环回 JS 应用程序,前端使用 Angular JS SDK。我在模型的 find 远程方法上有一个 after 钩子(Hook),用于验证当前上下文中是否存在访问 token 。

  Team.afterRemote('find',function(context,boards,next){
var ExeboardUser = app.models.ExeboardUser;
var ExeboardUserBoard = app.models.ExeboardUserBoard;


var ctx = loopback.getCurrentContext();

var at = ctx.get('accessToken');
if(at==undefined || at==null){
// return 401
console.log("Unauthorized: Find Boards-User not logged in.");
var newError = new Error("Unauthorized: Find Boards");
newError.status = 401;
next(newError);
}
else{
//.. more verifications and operations on the data
}

});

这种验证效果很好......有时。我遇到的问题是,我随机收到 401 Unauthorized,因为环回获得了未定义的访问 token 。即使我已登录,也会发生这种情况,并且如果我再次发送请求, token 会神奇地重新出现并授予权限。

我不知道每次出现此错误时如何准确复制。我只知道如果我离开 session 中间 5-10 分钟,或者如果我对前端进行更改并进行刷新,就会发生这种情况(有时)。

在 angularJS 上,我在 Controller 的开头调用端点。这意味着我会在用户输入具有 Controller 的 url 后立即发出请求。

var getTeam = function(){
Team.find({filter:{where:{ id:$stateParams.id }}})
.$promise
.then(function(response){
$log.log("SUCCESS",response);

},
function(err){
$log.log(err);
});
};

我不明白的是为什么有时会发生有时不会。谁能帮我找出错误吗?

最佳答案

您应该在模型上使用以下 ACL,而不是远程 Hook :

{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$unauthenticated",
"permission": "DENY",
"property": "find"
}

关于javascript - 即使用户已登录,环回也会抛出 accessToken undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38282609/

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