diff --git a/auth.py b/auth.py index 112fd9c..a3ff749 100644 --- a/auth.py +++ b/auth.py @@ -135,16 +135,27 @@ async def authenticate_user(data_dir: Path, username: str, password: str) -> Opt ) -def create_access_token(username: str) -> Token: - """Create a JWT access token.""" +def create_access_token(username: str, l2_server: str = None) -> Token: + """Create a JWT access token. + + Args: + username: The username + l2_server: The L2 server URL (e.g., https://artdag.rose-ash.com) + Required for L1 to verify tokens with the correct L2. + """ expires = datetime.now(timezone.utc) + timedelta(days=ACCESS_TOKEN_EXPIRE_DAYS) payload = { "sub": username, + "username": username, # Also include as username for compatibility "exp": expires, "iat": datetime.now(timezone.utc) } + # Include l2_server so L1 knows which L2 to verify with + if l2_server: + payload["l2_server"] = l2_server + token = jwt.encode(payload, SECRET_KEY, algorithm=ALGORITHM) return Token( diff --git a/server.py b/server.py index 9c016e5..5ba9bf1 100644 --- a/server.py +++ b/server.py @@ -329,7 +329,7 @@ async def ui_login_submit(request: Request): if not user: return HTMLResponse('