SSLError с использованием flask_dance для OAuth2 - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь подключиться к OAuth2-провайдеру с помощью flask_dance.У провайдера есть самоподписанный сертификат.Когда я отправил request.post(***, verify=False) напрямую, все отлично работает.Однако, когда я использую OAuth2ConsumerBlueprint() из flask_dance.consumer, я всегда получаю следующую ошибку:

requests.exceptions.SSLError
requests.exceptions.SSLError: HTTPSConnectionPool(host='***', port=443): Max retries exceeded with url: /as/token.oauth2 (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))

Есть ли способ установить verify=false глобально для всех запросов, вызванных из скрипта, или установить verify=falseза все OAuth2ConsumerBlueprint().Также решением может быть добавление исключения для сертификата.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 26 октября 2018

При определении OAuth2ConsumerBlueprint () можно задать дополнительные параметры, например, в token_url_params.Таким образом, он будет передаваться запросам flask_dance от импорта колбы Flask от flask_dance.consumer import OAuth2ConsumerBlueprint

app = Flask(__name__)
example_blueprint = OAuth2ConsumerBlueprint(
  "oauth-example", __name__,
  client_id="my-key-here",
  client_secret="my-secret-here",
  base_url="https://oauth-example.com",
  token_url="https://oauth-example.com/login/access_token",
  authorization_url="https://oauth-example.com/login/authorize",
  token_url_params=dict(verify=False)
)
app.register_blueprint(example_blueprint, url_prefix="/login")
...