Merge branch 'main' of github.com:phact/gendb
This commit is contained in:
commit
74a58b2d9a
2 changed files with 18 additions and 28 deletions
|
|
@ -33,15 +33,8 @@ def require_auth(session_manager):
|
||||||
from session_manager import User
|
from session_manager import User
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
request.state.user = User(
|
from session_manager import AnonymousUser
|
||||||
user_id="anonymous",
|
request.state.user = AnonymousUser()
|
||||||
email="anonymous@localhost",
|
|
||||||
name="Anonymous User",
|
|
||||||
picture=None,
|
|
||||||
provider="none",
|
|
||||||
created_at=datetime.now(),
|
|
||||||
last_login=datetime.now(),
|
|
||||||
)
|
|
||||||
request.state.jwt_token = None # No JWT in no-auth mode
|
request.state.jwt_token = None # No JWT in no-auth mode
|
||||||
logger.debug("Set user_id=anonymous, jwt_token=None")
|
logger.debug("Set user_id=anonymous, jwt_token=None")
|
||||||
return await handler(request)
|
return await handler(request)
|
||||||
|
|
@ -75,15 +68,8 @@ def optional_auth(session_manager):
|
||||||
from session_manager import User
|
from session_manager import User
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
request.state.user = User(
|
from session_manager import AnonymousUser
|
||||||
user_id="anonymous",
|
request.state.user = AnonymousUser()
|
||||||
email="anonymous@localhost",
|
|
||||||
name="Anonymous User",
|
|
||||||
picture=None,
|
|
||||||
provider="none",
|
|
||||||
created_at=datetime.now(),
|
|
||||||
last_login=datetime.now(),
|
|
||||||
)
|
|
||||||
request.state.jwt_token = None # No JWT in no-auth mode
|
request.state.jwt_token = None # No JWT in no-auth mode
|
||||||
else:
|
else:
|
||||||
user = get_current_user(request, session_manager)
|
user = get_current_user(request, session_manager)
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,19 @@ class User:
|
||||||
if self.last_login is None:
|
if self.last_login is None:
|
||||||
self.last_login = datetime.now()
|
self.last_login = datetime.now()
|
||||||
|
|
||||||
|
class AnonymousUser(User):
|
||||||
|
"""Anonymous user"""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(
|
||||||
|
user_id="anonymous",
|
||||||
|
email="anonymous@localhost",
|
||||||
|
name="Anonymous User",
|
||||||
|
picture=None,
|
||||||
|
provider="none",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class SessionManager:
|
class SessionManager:
|
||||||
"""Manages user sessions and JWT tokens"""
|
"""Manages user sessions and JWT tokens"""
|
||||||
|
|
@ -209,14 +222,5 @@ class SessionManager:
|
||||||
|
|
||||||
def _create_anonymous_jwt(self) -> str:
|
def _create_anonymous_jwt(self) -> str:
|
||||||
"""Create JWT token for anonymous user in no-auth mode"""
|
"""Create JWT token for anonymous user in no-auth mode"""
|
||||||
anonymous_user = User(
|
anonymous_user = AnonymousUser()
|
||||||
user_id="anonymous",
|
|
||||||
email="anonymous@localhost",
|
|
||||||
name="Anonymous User",
|
|
||||||
picture=None,
|
|
||||||
provider="none",
|
|
||||||
created_at=datetime.now(),
|
|
||||||
last_login=datetime.now(),
|
|
||||||
)
|
|
||||||
|
|
||||||
return self.create_jwt_token(anonymous_user)
|
return self.create_jwt_token(anonymous_user)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue