File size: 2,403 Bytes
fbfa98a
 
 
 
db6e2f8
fbfa98a
6e5ed1f
 
 
 
db6e2f8
fbfa98a
 
db6e2f8
fbfa98a
 
 
db6e2f8
6bc4285
6e5ed1f
 
fbfa98a
1e7a0a5
db6e2f8
fbfa98a
 
 
db6e2f8
6e5ed1f
 
b4f3540
6e5ed1f
db6e2f8
d8ea0e9
 
 
 
 
 
 
 
b4f3540
d8ea0e9
 
 
 
 
 
 
 
 
 
db6e2f8
 
fbfa98a
5a1241b
35eab52
 
 
3ab3d9f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35eab52
fbfa98a
 
35eab52
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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

# https://huggingface.co/settings/tokens
# https://huggingface.co/spaces/{username}/{space}/settings
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)

    # Store user information in session
    session['user'] = id_info

    return redirect(url_for("profile"))


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=7860, debug=True)






# @app.route("/profile")
# def profile():
#     user = session.get('user')
#     if user:
#         return render_template("profile.html", user=user)
#     else:
#         return "User not authenticated"

# @app.route("/logout")
# def logout():
#     session.pop('user', None)
#     return redirect(url_for("index"))

# if __name__ == "__main__":
#     app.run(debug=True)