0
nodejs、express、およびmongodbにOAuth認証フローを自分で作成しようとしています。クライアントが各ルートの前に自分のMongoDBで利用可能かどうかを確認しようとしています。だから、クライアントIDとクライアントシークレットが自分のDBで利用可能かどうかをチェックするミドルウェア機能を作った。ここに私のミドルウェア機能nodejs非同期ミドルウェアが動作していません
module.exports = function() {
return function(req, res, next) {
// Implement the middleware function based on the options object
winston.info("check client")
User.getClient(req.get("clientId"), req.get("clientSecret"), function (err, client) {
winston.info("checking time");
if (client) {
return next();
} else {
}
});
winston.info("check client done")
}
}
ですが、私は私のマングースモデルを呼び出していて、私は完璧に働いてイマイチミドルウェアと思います。非同期呼び出しが終了するまでに。スクリプトが通過しています。 私がここで達成したいのは、クライアントがdbで利用可能な場合、ミドルウェアが合格するということです。だから、ミドルウェアは、それがマングースから応答を得た後に進む必要があります。ここに私のルータのコードです。
var express = require('express')
, router = express.Router()
, clientVerify = require("../middlewares/clientVerify");
router.use(clientVerify())
約束してユーザーオブジェクトを返そうとしましたか? –
番号。あなたは私を模範に導くことができますか? – coder
[this](https://stackoverflow.com/a/35247560/3763848)の例を見てください –