|
import os |
|
import requests |
|
import json |
|
from io import BytesIO |
|
|
|
from flask import Flask, jsonify, render_template, request, send_file |
|
from flask import Flask, redirect, url_for, session, request, jsonify, render_template |
|
from google.oauth2 import id_token |
|
from google.auth.transport import requests as grequests |
|
import os |
|
|
|
from modules.inference import infer_t5 |
|
from modules.dataset import query_emotion |
|
|
|
|
|
|
|
API_TOKEN = os.getenv("BIG_GAN_TOKEN") |
|
|
|
CLIENT_ID = "730959404664-67d22lrege5tmtt64dv2pe2tsostvqil.apps.googleusercontent.com" |
|
CLIENT_SECRET = os.environ.get("GOOGLE_CLIENT_SECRET") |
|
|
|
app = Flask(__name__) |
|
app.secret_key = os.urandom(24) |
|
|
|
@app.route("/") |
|
def index(): |
|
return render_template("index.html") |
|
|
|
@app.route("/login") |
|
def login(): |
|
return redirect("https://accounts.google.com/o/oauth2/auth?response_type=code&client_id={}&redirect_uri=http://localhost:7860/callback&scope=email%20profile&access_type=offline".format(CLIENT_ID)) |
|
|
|
|
|
@app.route("/callback") |
|
def callback(): |
|
code = request.args.get("code") |
|
token_response = grequests.post("https://oauth2.googleapis.com/token", |
|
data={ |
|
"code": code, |
|
"client_id": CLIENT_ID, |
|
"client_secret": CLIENT_SECRET, |
|
"redirect_uri": "http://localhost:7860/callback", |
|
"grant_type": "authorization_code" |
|
}) |
|
token_data = token_response.json() |
|
access_token = token_data.get("access_token") |
|
id_info = id_token.verify_oauth2_token(token_data.get("id_token"), grequests.Request(), CLIENT_ID) |
|
|
|
|
|
session['user'] = id_info |
|
|
|
return redirect(url_for("profile")) |
|
|
|
|
|
if __name__ == "__main__": |
|
app.run(host="0.0.0.0", port=7860, debug=True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|