web-dev-qa-db-ja.com

httpsなしでフラスコ-oauthlibをローカルでテストする

Flask-oauthlibを使用して、oauth2サーバーとoauth2クライアントを実装しました。

ローカルでテストしようとすると、クライアントはInsecureTransportErrorを返し、httpsを使用する必要があることを通知します。

Httpsなしでアプリをローカルでテストする方法はありますか?

クライアントは127.0.0.2:5000で実行されており、サーバーは127.0.0.1:5000で実行されています。

ありがとう

35
user2483431

http://requests-oauthlib.readthedocs.org/en/latest/examples/real_world_example.html から:

Oauth2はSSLレイヤーを介して機能することに注意してください。サーバーがHTTPSを許可するようにパラメーター化されていない場合、fetch_tokenメソッドはoauthlib.oauth2.rfc6749.errors.InsecureTransportErrorを送出します。ほとんどの人はテスト中にサーバーにSSLを設定しませんが、それは問題ありません。このチェックを無効にするには、次の2つの方法があります。

  1. 環境変数を設定する。
export OAUTHLIB_INSECURE_TRANSPORT=1
  1. 上記と同等で、これをPythonで設定できます(環境変数の設定に問題がある場合))
# Somewhere in webapp_example.py, before the app.run for example
import os 
os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'
73
Hans Z.

OAuth1の場合、設定を追加できます

app.config.update({
    'OAUTH1_PROVIDER_ENFORCE_SSL': False
})

OAuth2の場合、環境変数で設定できます。

export OAUTHLIB_INSECURE_TRANSPORT=1

または実行時に

import os
os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'
20

Authlibの使用者の場合:

export AUTHLIB_INSECURE_TRANSPORT=1

または、プログラムで設定する場合:

# Somewhere in webapp_example.py, before the app.run for example
import os 
os.environ['AUTHLIB_INSECURE_TRANSPORT'] = '1'

私はそれが質問に答えていないことを知っています、しかし私がそれについてGoogleに尋ねるたびに私はこのページに行きます。

2
Leogout