Flask-Talisman нарушает документацию по flagk-restplus - PullRequest
1 голос
/ 29 октября 2019

Я недавно установил flask-talisman и после определения политики безопасности содержимого по умолчанию я понял, что моя страница документации Swagger не загружается.

Страница документации Swagger автоматически создается с помощью flask-restplus, и она просто прекращает загрузку.

Определенная мной политика безопасности содержимого (CSP) была такой:

csp = {
    'default-src': '\'self\''
}
talisman = Talisman(app, content_security_policy=csp)

Может ли это быть просто решено путем добавления swagger к доверенным доменам в CSP, например, так?

csp = {
    'default-src': ["'self'", "*.swagger.com"]
}
talisman = Talisman(app, content_security_policy=csp)

Или мне нужно определить другие параметры?

1 Ответ

1 голос
/ 01 ноября 2019

Нет, это потому, что swagger-ui использует встроенные скрипты и стили - , вот открытый трекер проблем для swagger-ui , а вот открытый выпуск для flask-restplus .

flask-talisman позволяет управлять на основе просмотра , так что вы можете добавить ключевое слово unsafe-inline к своему CSPдля этой конечной точки. Если это невозможно с flask-restplus, вы также можете изменить свой CSP, используя before_request, для любого префикса маршрута swagger, как указано здесь .

...