如何在 Flask-Dance 框架中识别 Google OAuth 是否被授权或拒绝
How to identify if Google OAuth was authorized or rejected in Flask-Dance framework
抱歉,刚接触 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.
谢谢
由于您是 Flask-Dance 的新手,我想推荐我的库 Authlib。您可以在以下位置查看 Flask 的 Google 登录示例:
https://github.com/authlib/demo-oauth-client/tree/master/flask-google-login
抱歉,刚接触 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.
谢谢
由于您是 Flask-Dance 的新手,我想推荐我的库 Authlib。您可以在以下位置查看 Flask 的 Google 登录示例:
https://github.com/authlib/demo-oauth-client/tree/master/flask-google-login