Skip to content

Commit 502a3fa

Browse files
committed
study what the failure is
1 parent e58b9f8 commit 502a3fa

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

opensensor/users.py

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import os
33
import secrets
44
from collections import defaultdict
5+
from logging import getLogger
56
from typing import Dict, List, Optional
67
from uuid import UUID
78

@@ -30,6 +31,8 @@
3031
SESSION_COOKIE_NAME = "user_session"
3132
cookie_scheme = APIKeyCookie(name=SESSION_COOKIE_NAME, auto_error=False)
3233

34+
logger = getLogger(__name__)
35+
3336

3437
def get_redirect_uri(request):
3538
s = "https"
@@ -122,9 +125,31 @@ def get_user_from_fief_user(fief_user: FiefUserInfo) -> User:
122125
db = get_open_sensor_db()
123126
users_db = db["Users"]
124127
fief_user_id = fief_user["sub"]
125-
user = users_db.find_one({"_id": fief_user_id})
126-
user = User(**user)
127-
return user
128+
logger.debug(f"Fief user ID: {fief_user_id}")
129+
130+
try:
131+
binary_uuid = Binary.from_uuid(UUID(fief_user_id))
132+
logger.debug(f"Binary UUID: {binary_uuid}")
133+
except ValueError as e:
134+
logger.error(f"Invalid UUID: {e}")
135+
return None
136+
137+
user = users_db.find_one({"_id": binary_uuid})
138+
logger.debug(f"Found user: {user}")
139+
140+
if user is None:
141+
logger.warning(f"No user found for Fief user ID: {fief_user_id}")
142+
return None
143+
144+
try:
145+
user_obj = User(**user)
146+
return user_obj
147+
except TypeError as e:
148+
logger.error(f"Error creating User object: {e}")
149+
return None
150+
151+
logger.warning("No Fief user provided")
152+
return None
128153

129154

130155
def migration_complete(migration_name: str) -> bool:

0 commit comments

Comments
 (0)