だから、私は Node.js + Swagger + MongoDB を使用しています。
すべてのリクエストに有効な auth_token が付いていることを検証しようとしています。これは、mongo のユーザーに保存されている値です。私の問題は、Swagger でサポートされているバリデーターが true または false を返す必要があることですが、認証トークンを検証するために Mongo に対してチェックする必要があるため、検証全体が非同期になります。
必要な場合のコードは次のとおりです。
swagger.addValidator(
function validate(req, path, httpMethod) {
var apiKey = req.headers["auth_token"];
if (!apiKey) {
apiKey = url.parse(req.url,true).query["auth_token"];
}
models.user.validateAuthToken(apiKey, function(err, valid) {
//Here is where I know if the auth token is valid and it checks against Mongo, so it's async
});
return [something]; //this is what the validation sequence is expecting this function to do: return true or false
});
この問題を解決するにはどうすればよいですか?