如何validation/授权环回中的快速路由

我刚刚创build了一个回送应用程序,并为用户authentication/授权扩展了User模型。

我试图检查用户是否当前login或不从我的快速路由,所以我可以redirect用户/login如果用户没有login。

到目前为止,似乎回环只validation/授权暴露的模型方法,如/user/update 。 我无法find任何关于如何获得回送authentication/授权我定义的快速路线。

提前致谢

这是事情,我不是很擅长回环,但我知道一点关于Expressjs。

明确地说,如果你想做auth,你可以使用你自己的中间件,并在其他路由处理请求之前使用它。

您可能想要将快速会话视为login状态存储。

login时:

 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') } } 

https://github.com/expressjs/session

为了在LoopBack应用程序中启用Express路由的身份validation和授权,您需要执行以下操作:

  1. 初始化环回令牌中间件以使用cookie
  2. 执行login后,设置已签名的access_token cookie
  3. 添加中间件来存储请求上下文(启用下面的步骤4 – 6)
  4. 添加中间件以识别请求用户并将用户信息存储在请求上下文中
  5. 添加中间件以启用所选路由上的login
  6. 根据需要将login执行中间件调用添加到Express路由

如果这看起来有点恐怖,恐怕不是因为有人写了一篇很棒的博客文章,并提供了所有上述中间件的示例代码:

令牌,会话和用户,哦,我的!

注意事项:

  • 如果您希望会话持续存在,请确保将LoopBack的AccessToken模型configuration为使用内存以外的数据存储。 有关更多信息,请参阅此处: 允许回送应用程序使用先前的访问令牌

  • 在博客文章中实现的请求上下文中间件不能作为永久性会话存储(即只有令牌存在),其余的是短暂的。