无法在loopback上实现ouath2

我想要实现一个使用loopback的oauth2服务器。 我以前做过使用快递,它完美的作品,但使用回送我有一些问题。 这里是oauth2orize的代码:var app = require('../../ server / server'); //在任何node.js应用程序中都需要server.js

 var User = app.models.user; var Client = app.models.client; var Token = app.models.token; var Code = app.models.code; var server = oauth2orize.createServer(); // Register serialialization function server.serializeClient(function(client, callback) { return callback(null, client._id); }); // Register deserialization function server.deserializeClient(function(id, callback) { Client.findOne({ _id: id }, function (err, client) { if (err) { return callback(err); } return callback(null, client); }); }); // User authorization endpoint exports.authorization = [ server.authorization(function(clientId, redirectUri, callback) { console.log('At Authorization endpoint'); var Client = app.models.client; Client.findOne({where :{ appId: clientId }}, function (err, client) { if (err) { return callback(err); } console.log("Found client : "+client); return callback(null, client, redirectUri); }); })] 

当我打电话给授权端点,我得到一个错误:错误:序列化客户端失败。 使用serializeClient()注册序列化函数然而,我已经实现了server.serializeClient和server.deserializeClient方法

我最近遇到了同样的问题,并找出了问题(无论如何)。 问题是我的客户端模型没有id字段。 我有一个clientId领域,但似乎oauth2orize模块特别需要一个id字段。 有点跛脚,但不难实施。