Swagger(express swagger)に基本的なAPIキー認証を追加する方法をいくつか試しました。以下は私のマニフェストの関連情報です。SwaggerにAPIキーを追加するにはどうすればいいですか
{
...
"main": "app.js",
"dependencies": {
"express": "^4.12.3",
"swagger-express-mw": "^0.1.0"
},
...
}
私はYAML構成でセキュリティ定義を登録したと思います。
swagger: "2.0"
info:
...
# Set up security for the API
securityDefinitions:
defaultApiKey:
type: apiKey
in: header
name: defaultApiKey
security:
- defaultApiKey: []
この設定を完了するには、ミドルウェアをSwaggerExpress.create()関数に登録するだけで済みます。以下は現在の私のapp.js全体です。
'use strict';
var SwaggerExpress = require('swagger-express-mw');
var app = require('express')();
module.exports = app; // for testing
var config = {
appRoot: __dirname // required config
};
SwaggerExpress.create(config, function(err, swaggerExpress) {
if (err) { throw err; }
// Serve the Swagger documents and SwaggerUi
app.use(swaggerExpress.runner.swaggerTools.swaggerUi());
// Install security
app.use(swaggerExpress.swaggerSecurity({
defaultApiKey: function(req, def, scopes, callback) {
console.log("hit");
}
}));
// install middleware
swaggerExpress.register(app);
var port = process.env.PORT || 10010;
app.listen(port);
});
私はこれを使用しようとすると、私は以下を参照してください。
Error initializing middleware
TypeError: swaggerExpress.swaggerSecurity is not a function
ノー成功を収めて、このいくつかの異なる方法を設定しようとしています。 YAMLでAPIキーを正しく定義しましたか?その場合、app.jsファイルにAPIキーハンドラを登録するにはどうすればよいですか?
swagger.jsonとは何ですか私はyamlしか持っていませんか? – danielad
@danielad swagger-codegenツールで.yamlを.jsonに変換することができます。https://github.com/swagger-api/swagger-codegen/blob/master/README.md#to-generate-a-sample-クライアントライブラリ – Burke9077
imはswagger-express-mdを使用していますか?私は魅力的なツールや何が必要ですか?どのように2つのニーズがあり、使用してくださいできますか? – danielad