【问题标题】:Loopback - Implementing custom authenticationLoopback - 实现自定义身份验证
【发布时间】:2016-08-30 20:25:25
【问题描述】:

我们正在开发 REST 服务,但我们已经有一个基础设施来管理用户。但是我们想利用 Loopback 的认证和授权机制。要求是

  • 添加远程方法并接收用户凭据
  • 通过存储过程调用手动验证凭据
  • 通过 Loopback 生成访问令牌
  • 继续使用 Loopback 授权机制,例如应用程序中的角色

我应该使用Loopback's third party login support 实现自定义登录服务提供程序吗?我在这方面找不到很好的资源。任何指针将不胜感激。

【问题讨论】:

    标签: node.js loopbackjs strongloop


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      我的示例是在 express 中使用引导脚本,但您可以轻松地将其更改为远程方法。

      module.exports = function(app) {
          //get User model from the express app
          var UserModel = app.models.User;
      
          app.post('/login', function(req, res) {
      
              console.log(req.body);
              //parse user credentials from request body
              const userCredentials = {
                  "username": req.body.username,
                  "password": req.body.password
              }
      
              UserModel.findOne({
                  "where": {
                      "username": userCredentials.username
                  }
              }, function(err, user) {
      
                  // Custom Login - Put the stored procedure call here 
      
                  if (err) {
                      //custom logger
                      console.error(err);
                      res.status(401).json({
                          "error": "login failed"
                      });
                      return;
                  }
      
                  // Create the accesstoken and return the Token
                  user.createAccessToken(5000, function(err, token) {
                      console.log(token)
                      res.json({
                          "token": result.id,
                          "ttl": result.ttl
                      });
                  })
              })
          });
      }
      

      现在您可以将该令牌用于 Loopbacks 授权机制。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-09
        • 2011-04-24
        • 1970-01-01
        • 1970-01-01
        • 2020-04-01
        • 2022-12-10
        • 2018-11-27
        • 2014-12-04
        相关资源
        最近更新 更多