增加用户名

This commit is contained in:
dekun
2026-05-22 11:49:41 +08:00
parent cd129b6a25
commit c00a45165b
7 changed files with 84 additions and 40 deletions
+11 -5
View File
@@ -28,7 +28,8 @@ from hub_web_auth import (
is_public_path,
password_required,
validate_session_token,
verify_password,
expected_username,
verify_credentials,
)
from url_public import browser_url, default_review_url, public_origin
@@ -142,6 +143,7 @@ def _login_page():
class LoginBody(BaseModel):
username: str = ""
password: str = ""
@@ -149,16 +151,20 @@ class LoginBody(BaseModel):
def api_auth_status(request: Request):
required = password_required()
logged_in = not required or validate_session_token(request.cookies.get(SESSION_COOKIE))
return {"required": required, "logged_in": logged_in}
return {
"required": required,
"logged_in": logged_in,
"username_hint": expected_username() if required else None,
}
@app.post("/api/auth/login")
def api_auth_login(body: LoginBody):
if not password_required():
return {"ok": True, "auth_disabled": True}
if not verify_password(body.password):
raise HTTPException(status_code=401, detail="密码错误")
token = create_session_token()
if not verify_credentials(body.username, body.password):
raise HTTPException(status_code=401, detail="用户名或密码错误")
token = create_session_token(body.username)
resp = JSONResponse({"ok": True})
resp.set_cookie(
SESSION_COOKIE,