【发布时间】:2016-05-04 19:48:06
【问题描述】:
我们正在为我们的 REST 端点使用 Loopback,并且希望在不使用 Loopback User 模型的情况下实现 JWT。这意味着,我们希望自己使用jwt-simple 之类的令牌来验证对其余端点的每个调用。有没有办法让 Loopback 在每个入站请求上调用自定义身份验证函数并接受或拒绝请求?我们找到的所有解决方案都与 Loopback 的用户模型相关联,但我们有自己的用户模型。以下代码可能就足够了,但 Loopback 似乎覆盖了 '/api' 路由:
app.use('/api', function(req,res,next) {
// PERFORM CUSTOM VALIDATION GOES HERE. ACCEPT OR REJECT THE CALL.
next();
})
FOLLOWUP QUESTION #1 -- 使用 JS 在中间件中如何定义参数?为了在代码中执行身份验证,我们需要请求、响应、用户和/或令牌。
app.middleware('auth:before', auth(???????))
function auth(req, res, next) {
console.log(req, res);
}
跟进答案 #1 -- 这是解决方案:
app.middleware('auth:before', auth)
function auth(req, res) {
console.log(req, res);
}
后续问题 #2 -- 您实际上如何使用中间件拒绝访问? (上面的#1)。
【问题讨论】:
标签: authentication jwt loopbackjs