Испытательная колба-oauthlib локально без https
Я реализовал сервер oauth2 и клиент oauth2, используя флак-oauthlib.
Когда я пытаюсь проверить локально, клиент возвращает InsecureTransportError и сообщает мне, что я должен использовать https.
Есть ли способ проверить приложение локально без https?
Клиент работает на 127.0.0.2:5000, а сервер работает на 127.0.0.1:5000.
Спасибо
Ответы
Ответ 1
Из http://requests-oauthlib.readthedocs.org/en/latest/examples/real_world_example.html:
Следует отметить, что Oauth2 работает через слой SSL. Если ваш сервер не параметризованный для разрешения HTTPS, метод fetch_token поднимет oauthlib.oauth2.rfc6749.errors.InsecureTransportError. Большинство людей не устанавливайте SSL на своем сервере во время тестирования, и это нормально. Ты можешь отключите эту проверку двумя способами:
- Установив переменную среды.
export OAUTHLIB_INSECURE_TRANSPORT=1
- Эквивалент выше вы можете установить это в Python (если у вас есть проблемы с настройкой переменных среды)
# Somewhere in webapp_example.py, before the app.run for example
import os
os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'
Ответ 2
Для OAuth1 вы можете добавить настройку
app.config.update({
'OAUTH1_PROVIDER_ENFORCE_SSL': False
})
Для OAuth2 вы можете установить в переменной среды.
export OAUTHLIB_INSECURE_TRANSPORT=1
или во время выполнения
import os
os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'
Ответ 3
Для пользователей 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 об этом, я попадаю на эту страницу.