0

抱歉,Flask-Dance 的新手。我使用的模板代码来自: https ://github.com/singingwolfboy/flask-dance-google/blob/master/google.py

import os
from flask import Flask, redirect, url_for
from flask_dance.contrib.google import make_google_blueprint, google

app = Flask(__name__)
app.secret_key = os.environ.get("FLASK_SECRET_KEY", "supersekrit")
app.config["GOOGLE_OAUTH_CLIENT_ID"] = os.environ.get("GOOGLE_OAUTH_CLIENT_ID")
app.config["GOOGLE_OAUTH_CLIENT_SECRET"] = os.environ.get("GOOGLE_OAUTH_CLIENT_SECRET")
google_bp = make_google_blueprint(scope=["profile", "email"])
app.register_blueprint(google_bp, url_prefix="/login")

@app.route("/")
def index():
    if not google.authorized:
        return redirect(url_for("google.login"))
    resp = google.get("/oauth2/v1/userinfo")
    assert resp.ok, resp.text
    return "You are {email} on Google".format(email=resp.json()["email"]) 

据我了解,如果 google.authorized 不正确,它会重定向到路由“google.login”。我想知道是否有办法知道我是否由于未经 O-auth 授权而被重定向,而不是被定向到登录 url。

谢谢

4

1 回答 1

0

由于您是 Flask-Dance 的新手,我想推荐我的库Authlib。您可以在以下位置查看 Flask 的 Google 登录示例:

https://github.com/authlib/demo-oauth-client/tree/master/flask-google-login

于 2020-07-21T14:04:06.620 回答