Nazari11221 commited on
Commit
a721b3b
·
verified ·
1 Parent(s): 1e44e76

Create Merge this Auth0 login into your existing TOEFL Gradio app.

Browse files

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

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 =

Merge this Auth0 login into your existing TOEFL Gradio app. ADDED
@@ -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
+