Spaces:
Runtime error
Create Merge this Auth0 login into your existing TOEFL Gradio app.
Browse filesimport os import gradio as gr import openai import whisper from gtts import gTTS from fpdf import FPDF import pandas as pd import time from flask import Flask, request, session, redirect, url_for from authlib.integrations.flask_client import OAuth from dotenv import load_dotenv, find_dotenv from threading import Thread
Load environment variables
ENV_FILE = find_dotenv() if ENV_FILE: load_dotenv(ENV_FILE)
=== Flask App for Auth0 ===
flask_app = Flask(name) flask_app.secret_key = os.getenv("APP_SECRET_KEY")
oauth = OAuth(flask_app) oauth.register( "auth0", client_id=os.getenv("AUTH0_CLIENT_ID"), client_secret=os.getenv("AUTH0_CLIENT_SECRET"), client_kwargs={"scope": "openid profile email"}, server_metadata_url=f'https://{os.getenv("AUTH0_DOMAIN")}/.well-known/openid-configuration' )
@flask_app.route("/login") def login(): return oauth.auth0.authorize_redirect(redirect_uri=url_for("callback", _external=True))
@flask_app.route("/callback") def callback(): token = oauth.auth0.authorize_access_token() session["user"] = token return redirect("/gradio")
@flask_app.route("/logout") def logout(): session.clear() return redirect("/")
@flask_app.route("/") def home(): return redirect("/gradio")
@flask_app.route("/gradio") def launch_gradio(): if "user" not in session: return redirect("/login") return gradio_interface.launch(share=True, inline=True)
=== Gradio App Logic ===
openai.api_key = os.environ.get("OPENAI_API_KEY") model = whisper.load_model("base") LOG_FILE =
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os import gradio as gr import openai import whisper from gtts import gTTS from fpdf import FPDF import pandas as pd import time from flask import Flask, request, session, redirect, url_for from authlib.integrations.flask_client import OAuth from dotenv import load_dotenv, find_dotenv from threading import Thread
|
| 2 |
+
|
| 3 |
+
Load environment variables
|
| 4 |
+
|
| 5 |
+
ENV_FILE = find_dotenv() if ENV_FILE: load_dotenv(ENV_FILE)
|
| 6 |
+
|
| 7 |
+
=== Flask App for Auth0 ===
|
| 8 |
+
|
| 9 |
+
flask_app = Flask(name) flask_app.secret_key = os.getenv("APP_SECRET_KEY")
|
| 10 |
+
|
| 11 |
+
oauth = OAuth(flask_app) oauth.register( "auth0", client_id=os.getenv("AUTH0_CLIENT_ID"), client_secret=os.getenv("AUTH0_CLIENT_SECRET"), client_kwargs={"scope": "openid profile email"}, server_metadata_url=f'https://{os.getenv("AUTH0_DOMAIN")}/.well-known/openid-configuration' )
|
| 12 |
+
|
| 13 |
+
@flask_app.route("/login") def login(): return oauth.auth0.authorize_redirect(redirect_uri=url_for("callback", _external=True))
|
| 14 |
+
|
| 15 |
+
@flask_app.route("/callback") def callback(): token = oauth.auth0.authorize_access_token() session["user"] = token return redirect("/gradio")
|
| 16 |
+
|
| 17 |
+
@flask_app.route("/logout") def logout(): session.clear() return redirect("/")
|
| 18 |
+
|
| 19 |
+
@flask_app.route("/") def home(): return redirect("/gradio")
|
| 20 |
+
|
| 21 |
+
@flask_app.route("/gradio") def launch_gradio(): if "user" not in session: return redirect("/login") return gradio_interface.launch(share=True, inline=True)
|
| 22 |
+
|
| 23 |
+
=== Gradio App Logic ===
|
| 24 |
+
|
| 25 |
+
openai.api_key = os.environ.get("OPENAI_API_KEY") model = whisper.load_model("base") LOG_FILE =
|
| 26 |
+
|