在不使用Loopback的用户模型的情况下在环回中使用JWT

时间:2016-05-03 21:28:04

标签: authentication jwt loopbackjs

我们正在为我们的REST端点使用Loopback,并希望在不使用Loopback用户模型的情况下实现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();
 })

关注问题#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)。

1 个答案:

答案 0 :(得分:0)

您可以定义一个中间件函数,然后在middleware.json中注册它以在'auth:before'或某些早期阶段执行。

https://docs.strongloop.com/display/APIC/Defining+middleware