testcoder-ui commited on
Commit
6d30548
·
1 Parent(s): 763d966

Add detailed OAuth debugging: log oauth_info contents

Browse files
Files changed (1) hide show
  1. app.py +18 -2
app.py CHANGED
@@ -235,13 +235,26 @@ def check_user_access(request: gr.Request) -> Tuple[str, bool]:
235
  # OAuth 用户信息在 session['oauth_info'] 中
236
  if 'oauth_info' in session:
237
  oauth_info = session.get('oauth_info', {})
238
- username = oauth_info.get('preferred_username') or oauth_info.get('name') or oauth_info.get('sub')
 
 
 
 
 
 
 
 
 
 
 
 
239
  if username:
240
  logger.info(f"从 session['oauth_info'] 获取用户名: {username}")
241
 
242
  # 或者在 session['user'] 中
243
  elif 'user' in session:
244
  user_info = session.get('user', {})
 
245
  username = user_info.get('preferred_username') or user_info.get('name') or user_info.get('username')
246
  if username:
247
  logger.info(f"从 session['user'] 获取用户名: {username}")
@@ -252,7 +265,10 @@ def check_user_access(request: gr.Request) -> Tuple[str, bool]:
252
  logger.warning("1. 已在 Space Settings 中启用 OAuth (hf_oauth: true)")
253
  logger.warning("2. 用户已通过 'Login with Hugging Face' 按钮登录")
254
  if hasattr(request, 'request') and hasattr(request.request, 'session'):
255
- logger.warning(f"Session keys: {list(request.request.session.keys())}")
 
 
 
256
 
257
  if not username:
258
  return "", False
 
235
  # OAuth 用户信息在 session['oauth_info'] 中
236
  if 'oauth_info' in session:
237
  oauth_info = session.get('oauth_info', {})
238
+ # 打印 oauth_info 的内容用于调试
239
+ logger.info(f"oauth_info 内容: {oauth_info}")
240
+ logger.info(f"oauth_info 的所有键: {list(oauth_info.keys()) if isinstance(oauth_info, dict) else 'Not a dict'}")
241
+
242
+ # 尝试多个可能的用户名字段
243
+ username = (
244
+ oauth_info.get('preferred_username') or
245
+ oauth_info.get('name') or
246
+ oauth_info.get('sub') or
247
+ oauth_info.get('username') or
248
+ oauth_info.get('login') or
249
+ oauth_info.get('email', '').split('@')[0] # 使用 email 的用户名部分
250
+ )
251
  if username:
252
  logger.info(f"从 session['oauth_info'] 获取用户名: {username}")
253
 
254
  # 或者在 session['user'] 中
255
  elif 'user' in session:
256
  user_info = session.get('user', {})
257
+ logger.info(f"user 内容: {user_info}")
258
  username = user_info.get('preferred_username') or user_info.get('name') or user_info.get('username')
259
  if username:
260
  logger.info(f"从 session['user'] 获取用户名: {username}")
 
265
  logger.warning("1. 已在 Space Settings 中启用 OAuth (hf_oauth: true)")
266
  logger.warning("2. 用户已通过 'Login with Hugging Face' 按钮登录")
267
  if hasattr(request, 'request') and hasattr(request.request, 'session'):
268
+ session = request.request.session
269
+ logger.warning(f"Session keys: {list(session.keys())}")
270
+ if 'oauth_info' in session:
271
+ logger.warning(f"oauth_info: {session.get('oauth_info')}")
272
 
273
  if not username:
274
  return "", False