我刚为用户身份验证/授权创建了一个环回应用和扩展User
模型。
我正在尝试检查用户当前是否已从我的快速路由登录,因此如果用户未登录,我可以将用户重定向到/login
。
到目前为止,似乎loopback仅验证/授权公开的模型方法,如/user/update
。我无法找到关于如何获得环回以验证/授权我定义的快速路线的任何内容。
提前致谢
答案 0 :(得分:1)
这就是问题,我不是很擅长环回,但我对Expressjs知之甚少。
在express中,如果你想做auth,你可以使用自己的中间件,并在其他路由处理请求之前使用它。
您可能希望将快速会话视为登录状态存储。
登录时:
route.post('/login',function(req,res,next){
//login here
req.session.user = user
})
你自己的中间件:
function auth(req,res,next){
if(!req.session.user){
res.redirect('/login')
}
}
答案 1 :(得分:0)
为了在LoopBack应用程序中启用Express路由的身份验证和授权,您需要执行以下操作:
如果这看起来有点可怕,恐怕不是因为有人撰写了一篇很棒的博客文章并提供了上述所有中间件的示例代码:
Tokens, Sessions and Users, oh my!
注意事项:
如果您希望会话保持不变,请确保将LoopBack的AccessToken模型配置为使用内存以外的数据存储。有关详细信息,请参阅此处:Allow loopback application to use previous access token
在博客文章中实现的请求上下文中间件不能用作持久会话存储(即只有令牌持久存在),其余的是短暂的。