环回 - 实现自定义身份验证

时间:2015-09-21 14:43:11

标签: node.js loopbackjs strongloop

我们正在开发REST服务,但我们已经有了管理用户的基础架构。但我们希望利用Loopback的身份验证和授权机制。要求是

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

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

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

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

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

现在您可以使用该令牌进行环回授权机制。