lunarflu HF Staff commited on
Commit
0906224
·
verified ·
1 Parent(s): da43acc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -23
app.py CHANGED
@@ -36,25 +36,17 @@ def run_bot():
36
  threading.Thread(target=run_bot).start()
37
 
38
  # Gradio ------------------------------------------------------------------------------------------------------------
39
- def validate_link(request: gr.Request):
40
  url_str = str(request.url)
41
  query_params = parse_qs(urlparse(url_str).query)
42
  user_id = query_params.get('user_id', [None])[0]
43
  token = query_params.get('token', [None])[0]
44
 
45
  if user_id is None or token is None:
46
- return False, None, None
47
 
48
  if int(user_id) not in user_tokens or user_tokens[int(user_id)] != token:
49
- return False, None, None
50
-
51
- return True, user_id, token
52
-
53
- def hello(profile: gr.OAuthProfile | None, request: gr.Request) -> str:
54
- is_valid, user_id, token = validate_link(request)
55
-
56
- if not is_valid:
57
- return "❌ Invalid link or expired token."
58
 
59
  if profile is None:
60
  return f"❌ Not logged in. User ID: {user_id}"
@@ -63,16 +55,8 @@ def hello(profile: gr.OAuthProfile | None, request: gr.Request) -> str:
63
 
64
  with gr.Blocks() as demo:
65
  gr.Markdown("# Gradio OAuth Space")
 
66
  m1 = gr.Markdown()
67
-
68
- def conditional_login_button(request: gr.Request):
69
- is_valid, _, _ = validate_link(request)
70
- if is_valid:
71
- return gr.LoginButton()
72
- else:
73
- return gr.Markdown("❌ Invalid link or expired token.")
74
-
75
- login_button = conditional_login_button(gr.Request())
76
  demo.load(hello, inputs=None, outputs=m1)
77
 
78
  def check_login_status():
@@ -88,7 +72,6 @@ with gr.Blocks() as demo:
88
  else:
89
  return f"Logged in as {session.get('username', 'Unknown')}"
90
 
91
- if isinstance(login_button, gr.LoginButton):
92
- login_button.click(check_login_wrapper, inputs=None, outputs=m1)
93
 
94
- demo.launch()
 
36
  threading.Thread(target=run_bot).start()
37
 
38
  # Gradio ------------------------------------------------------------------------------------------------------------
39
+ def hello(profile: gr.OAuthProfile | None, request: gr.Request) -> str:
40
  url_str = str(request.url)
41
  query_params = parse_qs(urlparse(url_str).query)
42
  user_id = query_params.get('user_id', [None])[0]
43
  token = query_params.get('token', [None])[0]
44
 
45
  if user_id is None or token is None:
46
+ return "❌ Invalid link. Missing user_id or token."
47
 
48
  if int(user_id) not in user_tokens or user_tokens[int(user_id)] != token:
49
+ return "❌ Invalid or expired token."
 
 
 
 
 
 
 
 
50
 
51
  if profile is None:
52
  return f"❌ Not logged in. User ID: {user_id}"
 
55
 
56
  with gr.Blocks() as demo:
57
  gr.Markdown("# Gradio OAuth Space")
58
+ login_button = gr.LoginButton()
59
  m1 = gr.Markdown()
 
 
 
 
 
 
 
 
 
60
  demo.load(hello, inputs=None, outputs=m1)
61
 
62
  def check_login_status():
 
72
  else:
73
  return f"Logged in as {session.get('username', 'Unknown')}"
74
 
75
+ login_button.click(check_login_wrapper, inputs=None, outputs=m1)
 
76
 
77
+ demo.launch()