sirochild commited on
Commit
9c8cfd7
·
verified ·
1 Parent(s): f4cc2ac

Upload main_app.py

Browse files
Files changed (1) hide show
  1. main_app.py +10 -7
main_app.py CHANGED
@@ -25,7 +25,7 @@ HF_ENDPOINT = "https://huggingface.co"
25
  CLIENT_ID = os.environ.get("OAUTH_CLIENT_ID")
26
  CLIENT_SECRET = os.environ.get("OAUTH_CLIENT_SECRET")
27
  SPACE_ID = os.environ.get("SPACE_ID")
28
-
29
 
30
  st.set_page_config(
31
  page_title="麻理プロジェクト", page_icon="🤖",
@@ -38,14 +38,17 @@ USER_DATA_DIR = "/mnt/data/mari_users"
38
  os.makedirs(USER_DATA_DIR, exist_ok=True)
39
 
40
 
 
41
  def get_redirect_uri():
42
- """リダイレクトURIを動的に生成する"""
43
- if SPACE_ID:
 
 
 
 
 
 
44
  return f"https://huggingface.co/spaces/{SPACE_ID}"
45
- else:
46
- # ローカル開発用のフォールバック(必要に応じて変更)
47
- # st.query_paramsはローカルではうまく機能しない場合がある
48
- return "http://localhost:8501"
49
 
50
  def get_hf_token(code: str, redirect_uri: str) -> dict | None:
51
  """認可コード(code)をアクセストークンに交換する"""
 
25
  CLIENT_ID = os.environ.get("OAUTH_CLIENT_ID")
26
  CLIENT_SECRET = os.environ.get("OAUTH_CLIENT_SECRET")
27
  SPACE_ID = os.environ.get("SPACE_ID")
28
+ SPACE_HOST = os.environ.get("SPACE_HOST")
29
 
30
  st.set_page_config(
31
  page_title="麻理プロジェクト", page_icon="🤖",
 
38
  os.makedirs(USER_DATA_DIR, exist_ok=True)
39
 
40
 
41
+ # vvv 修正点: この関数を全面的に書き換え
42
  def get_redirect_uri():
43
+ """
44
+ SpaceのURL形式(直接形式 or パス形式)に応じて正しいリダイレクトURIを生成する
45
+ """
46
+ # SPACE_HOSTが設定されている場合(直接形式URL)はそれを使うのが最も確実
47
+ if SPACE_HOST:
48
+ return f"https://{SPACE_HOST}"
49
+ # SPACE_HOSTがない場合(古い形式のSpaceなど)はSPACE_IDから組み立てる
50
+ elif SPACE_ID:
51
  return f"https://huggingface.co/spaces/{SPACE_ID}"
 
 
 
 
52
 
53
  def get_hf_token(code: str, redirect_uri: str) -> dict | None:
54
  """認可コード(code)をアクセストークンに交換する"""