Я следую примеру в документации:
from flask import Flask, redirect, url_for
from flask_dance.contrib.google import make_google_blueprint, google
app = Flask(__name__)
app.secret_key = "supersekrit"
blueprint = make_google_blueprint(
client_id="my-key-here",
client_secret="my-secret-here",
scope=[
"https://www.googleapis.com/auth/plus.me",
"https://www.googleapis.com/auth/userinfo.email",
]
)
app.register_blueprint(blueprint, url_prefix="/login")
@app.route("/")
def index():
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"])
if __name__ == "__main__":
app.run()
Я настроил свое приложение веб-клиента в консоли разработчика Google на прием только HTTPS с использованием https://www.example.com/login/google/authorized
конечной точки.
После того, как я пытаюсь запустить весь процесс аутентификации, я получаю это:
Error: redirect_uri_mismatch
Я вижу в запросе, что Flask-Dance отправляет http://www.example.com/login/google/authorized
(используя HTTP, а не HTTPS). Есть ли способ сказать Flask-Dance вместо этого использовать HTTPS? Моя среда разработки также настроена для HTTPS.