После входа в Google Oauth перенаправьте пользователя на нужный URL-адрес, используя Flask -Dance. - PullRequest
0 голосов
/ 19 апреля 2020

Итак, у меня есть веб-сайт, который позволяет пользователям входить в систему со своей учетной записью Google. После чего он распечатает их электронную почту.

Вот код для процедуры входа в систему:

app = Flask(__name__)
app.secret_key = 'development key'
app.config["GOOGLE_OAUTH_CLIENT_ID"] = # My ID
app.config["GOOGLE_OAUTH_CLIENT_SECRET"] =  # My CLIENT SECRET
os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'
google_bp = make_google_blueprint(scope=["https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/userinfo.profile", "openid"])
app.register_blueprint(google_bp, url_prefix="/login")

@app.route("/")
def main():
    return render_template("index.html")

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

После прохождения "/ login / google" и успешного входа в систему этот код возвращает меня на домашнюю страницу, где он возвращает "index. html" снова. Как мне вместо этого вернуться обратно к / login / google и распечатать эту строку?

Если я добавлю что-либо под googleLogin () к маршруту "/", оно вернется к маршруту "/" и напечатает Строка результата как обычно.

...