增加用户名
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user