gpt4 book ai didi

javascript - ExpressJS + 智威汤逊。获取授权数据的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-30 15:01:27 25 4
gpt4 key购买 nike

让我们跳到一个例子。我将跳过一些部分,例如导入、导出。

我有一个名为 controllers/book.js 的 Controller ,它有一个路由:

router.get('/my-books', function(req, res) {
if(Auth.authenticated(req,res)) {
Book.getMyBooks(function(rows) {
response.operationSucceed(req, res, rows);
});
}
});

然后,在一个名为 models/book.js 的模型中,我有这个功能:

function getMyBooks(successCallback) {
db.query('SELECT * FROM book b WHERE b.id_user=?', [Auth.getLoggedUID()], function(rows) {
successCallback(rows);
});
}

我的问题是关于 Auth.getLoggedUID 函数的。假设我有一个 JWT 身份验证并假设我在有效负载中有一个 UID(这甚至可以接受吗?),检索它的最佳选择是什么?除了每次将 req 传递给我需要身份验证数据的每个函数之外,是否有任何东西?

我可能在一个函数中有一个函数执行,我需要通过它们都传递 req 来获取用户 ID 吗?像这样吗?:

function getBooks(req) {
getMyBooks(req);
getCriminalBooks(req);
getEvenOtherBooksByAuthor(req, authorId);
}

老实说,我不喜欢那样。也许我的整个概念是错误的,我应该以不同的方式做事?有人可以在这种情况下为我指明正确的方向吗?

最佳答案

您可以在 header 中传递 UID 并在您的 Controller 中检索它:

var uid =req.header('UID');

然后将此 UID 传递到任何你想要的地方,而无需在任何地方结转整个 req 对象。

关于javascript - ExpressJS + 智威汤逊。获取授权数据的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46475831/

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