ループバックを使用してoauth2サーバーを実装したいと考えています。私はこれまでにexpressを使ってやっていましたが、完璧に動作しますが、ループバックを使用するといくつか問題があります。 oauth2orizeのコードを次に示します。 var app = require( '../../ server/server'); エラー:クライアントをシリアル化に失敗しました。私はエラーを取得しています認可エンドポイントを呼び出すと//は、任意のNode.jsのアプリループバックでouath2を実装できません
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);
});
})]
のようにserver.js
が必要です。 serializeClient()を使用してシリアライズ関数を登録する しかし、私はserver.serializeClientとserver.deserializeClientメソッドを実装しました。
'exports.authorisation'は配列ではなくオブジェクトであるべきですか?私。 'exports.authorization = {...' – JonRed
また、これは答えではありませんが、Loopback oauth2の実装について考えてみてください。http://loopback.io/doc/en/lb2/OAuth-2.0.htmlそれを試したので、それを保証することはできません – JonRed