如何确定Google OAuth在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而不是仅仅被重定向到登录网址而被重定向。


慕尼黑的夜晚无繁华
浏览 103回答 1
1回答

幕布斯7119047

由于你是Flask-Dance的新手,我想推荐我的图书馆Authlib。您可以在以下位置查看 Flask 的 Google 登录示例:https://github.com/authlib/demo-oauth-client/tree/master/flask-google-login
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python