Flask RESTPlus API Swagger 不显示授权按钮

Flask RESTPlus API Swagger doesn't show Authorize button

当记录使用 Swagger UI 时,当 Api 实例配置为使用授权时,Flask RestPlus API 不会显示授权按钮。

无论 Api 是在实例化时配置还是稍后使用 init_app 方法配置,都没有区别。授权字段被忽略。

from flask import Blueprint
from flask_restplus import Api
from MyPackage import settings

authorizations = {
    'apikey': {
        'type': 'apiKey',
        'in': 'header',
        'name': 'oauth2'
    }
}

api = Api(
    authorizations=authorizations,
    description=settings.API_DESCRIPTION,
    title=settings.API_TITLE,
    version=settings.API_VERSION,
)

blueprint = Blueprint('api', __name__, url_prefix='/api')
api.init_app(blueprint)
app.register_blueprint(blueprint)

app.config['SWAGGER_UI_DOC_EXPANSION'] = settings.RESTPLUS_SWAGGER_UI_DOC_EXPANSION
app.config['RESTPLUS_MASK_SWAGGER'] = settings.RESTPLUS_MASK_SWAGGER
...

当服务器启动时,它会自动忽略配置参数,并且缺少授权界面。 如果有人可以阐明失败的原因,那将非常有帮助。谢谢!

显然,requirements.txt 中存在依赖项,它安装了 flask-restplus 库的陈旧版本。更新 (0.9 -> 0.11) 解决了这个问题(并引入了 Swagger UI 的全新视觉设计,很好...)。