Spaces:
Runtime error
Runtime error
Upload persistent_user_manager.py
Browse files
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 = "
|
| 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="
|
| 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:
|