userIdc2024's picture
Update app.py
e1025c0 verified
import os
import gradio as gr
# Get tokens from environment
ACCESS_TOKEN = os.environ.get("ACCESS_TOKEN")
read_key = os.environ.get('HF_TOKEN')
# Load external app (returns a component)
demo_app = gr.load("userIdc2024/lipsync-video-generator", token=read_key, src="spaces")
# Token verification function
def verify_token(user_token):
if user_token == ACCESS_TOKEN:
return gr.update(visible=True), gr.update(visible=False), ""
else:
return gr.update(visible=False), gr.update(visible=True), "❌ Invalid token. Please try again."
# Build main UI
with gr.Blocks() as protected_app:
gr.Markdown("## 🔐 Enter Access Token to Use the App")
token_input = gr.Textbox(label="Access Token", type="password")
verify_btn = gr.Button("Unlock App")
error_msg = gr.Markdown("", visible=False)
app_container = gr.Column(visible=False)
with app_container:
demo_app.render() # Safe here since it's gr.load()
verify_btn.click(
fn=verify_token,
inputs=token_input,
outputs=[app_container, error_msg, error_msg]
)
# Launch
protected_app.launch()