Я пытаюсь настроить вход в Google с использованием Flask Dance для веб-сайта на основе фляги:
from flask_dance.contrib.google import make_google_blueprint, google
blueprint = make_google_blueprint(
client_id= "CLIENT_ID",
client_secret="CLIENT_SECRET",
scope=[
"https://www.googleapis.com/auth/plus.me",
"https://www.googleapis.com/auth/userinfo.email",
]
)
app.register_blueprint (blueprint, url_prefix = "/ google_login")
И, как следует из документации, у меня настроено представление так:
@app.route('/google_login')
def google_login():
if not google.authorized:
return redirect(url_for("google.login"))
resp = google.get("/oauth2/v2/userinfo")
assert resp.ok, resp.text
return "You are {email} on Google".format(email=resp.json()["email"])
Когда я тестировал, я установил для переменной среды OAUTHLIB_INSECURE_TRANSPORT значение 1, используя
export OAUTHLIB_INSECURE_TRANSPORT=1
Итеперь даже после того, как я удалил переменную окружения, по какой-то причине Flaskdance, кажется, всегда разрешает URI к http вместо HTTPS.
Это видно из полученной мной ошибки несоответствия URI перенаправления (здесь веб-сайт ссылается на доменное имя):
The redirect URI in the request,
http://"website"/google_login/google/authorized, does not match
the ones authorized for the OAuth client.
А вот авторизованные URI перенаправления, которые я настроилв моей облачной консоли Google:
https://"website"/google_login/google/authorized
https://www."website"/google_login/google/authorized
Я попытался сбросить переменную среды с помощью этой команды:
unset OAUTHLIB_INSECURE_TRANSPORT
Чего мне здесь не хватает?Любая помощь будет оценена.