sirochild commited on
Commit
eaec314
·
verified ·
1 Parent(s): 06c930f

Upload persistent_user_manager.py

Browse files
Files changed (1) hide show
  1. persistent_user_manager.py +8 -8
persistent_user_manager.py CHANGED
@@ -28,8 +28,8 @@ class PersistentUserManager:
28
  self.user_data_dir = os.path.join(storage_base_path, "mari_users")
29
  self.session_data_dir = os.path.join(storage_base_path, "mari_sessions")
30
 
31
- # 永続Cookie管理設定
32
- self.cookie_name = "mari_user_id"
33
  self.cookie_expiry_days = 365 # 1年間有効な永続Cookie
34
 
35
  # ディレクトリ作成
@@ -76,7 +76,7 @@ class PersistentUserManager:
76
 
77
  # EncryptedCookieManagerを初期化(永続Cookie対応)
78
  cookies = EncryptedCookieManager(
79
- prefix="mari_",
80
  password=cookie_password
81
  )
82
 
@@ -148,7 +148,7 @@ class PersistentUserManager:
148
  # 有効なCookieベースのユーザーIDが存在
149
  self._update_user_access_time(user_id)
150
  st.session_state.user_id = user_id # セッション状態に保存
151
- logger.info(f"永続Cookie認証成功: {user_id[:8]}...")
152
  return user_id
153
 
154
  # 2. フルリセット時以外で、セッション状態にuser_idがある場合はCookieと照合
@@ -217,7 +217,7 @@ class PersistentUserManager:
217
  logger.debug(f"Cookie値取得: {user_id[:8] if len(user_id) >= 8 else user_id}...")
218
 
219
  if self._is_valid_uuid(user_id):
220
- logger.info(f"永続CookieからユーザーID取得成功: {user_id[:8]}...")
221
  return user_id
222
  else:
223
  logger.warning(f"Cookie内のユーザーIDが無効な形式: {user_id}")
@@ -248,7 +248,7 @@ class PersistentUserManager:
248
  # Cookieを保存(streamlit-cookies-managerは自動的に永続化される)
249
  self.cookies.save()
250
 
251
- logger.info(f"永続クッキーに保存: {user_id[:8]}... (ブラウザ閉じても保持)")
252
 
253
  except Exception as e:
254
  logger.warning(f"永続Cookie設定エラー: {e}")
@@ -481,9 +481,9 @@ class PersistentUserManager:
481
  # 永続Cookieを削除(有効期限を過去に設定)
482
  del self.cookies[self.cookie_name]
483
  self.cookies.save()
484
- logger.info("永続Cookie削除完了")
485
  except Exception as e:
486
- logger.warning(f"永続Cookie削除エラー: {e}")
487
 
488
  # セッション状態からも削除
489
  if 'persistent_user_id' in st.session_state:
 
28
  self.user_data_dir = os.path.join(storage_base_path, "mari_users")
29
  self.session_data_dir = os.path.join(storage_base_path, "mari_sessions")
30
 
31
+ # 永続Cookie管理設定(完全にユニークなキー名)
32
+ self.cookie_name = "hf_spaces_persistent_session_id" # HF Spaces専用の完全にユニークなキー
33
  self.cookie_expiry_days = 365 # 1年間有効な永続Cookie
34
 
35
  # ディレクトリ作成
 
76
 
77
  # EncryptedCookieManagerを初期化(永続Cookie対応)
78
  cookies = EncryptedCookieManager(
79
+ prefix="hf_persistent_", # HF Spaces永続化専用のprefix
80
  password=cookie_password
81
  )
82
 
 
148
  # 有効なCookieベースのユーザーIDが存在
149
  self._update_user_access_time(user_id)
150
  st.session_state.user_id = user_id # セッション状態に保存
151
+ logger.info(f"HF Spaces永続Cookie認証成功: {user_id[:8]}...")
152
  return user_id
153
 
154
  # 2. フルリセット時以外で、セッション状態にuser_idがある場合はCookieと照合
 
217
  logger.debug(f"Cookie値取得: {user_id[:8] if len(user_id) >= 8 else user_id}...")
218
 
219
  if self._is_valid_uuid(user_id):
220
+ logger.info(f"HF Spaces永続CookieからユーザーID取得成功: {user_id[:8]}... (キー: {self.cookie_name})")
221
  return user_id
222
  else:
223
  logger.warning(f"Cookie内のユーザーIDが無効な形式: {user_id}")
 
248
  # Cookieを保存(streamlit-cookies-managerは自動的に永続化される)
249
  self.cookies.save()
250
 
251
+ logger.info(f"HF Spaces永続クッキーに保存: {user_id[:8]}... (キー: {self.cookie_name})")
252
 
253
  except Exception as e:
254
  logger.warning(f"永続Cookie設定エラー: {e}")
 
481
  # 永続Cookieを削除(有効期限を過去に設定)
482
  del self.cookies[self.cookie_name]
483
  self.cookies.save()
484
+ logger.info(f"HF Spaces永続Cookie削除完了 (キー: {self.cookie_name})")
485
  except Exception as e:
486
+ logger.warning(f"HF Spaces永続Cookie削除エラー: {e}")
487
 
488
  # セッション状態からも削除
489
  if 'persistent_user_id' in st.session_state: