Add single-user local authentication
This commit is contained in:
+10
-7
@@ -179,17 +179,20 @@ def auth_check() -> Any:
|
||||
def auth_login() -> Any:
|
||||
data = _json()
|
||||
try:
|
||||
identity = auth.login_cwa(
|
||||
str(data.get("username", "")),
|
||||
str(data.get("password", "")),
|
||||
orchestrator.cwa(),
|
||||
auth.client_address(request.headers, request.remote_addr),
|
||||
)
|
||||
username = str(data.get("username", ""))
|
||||
password = str(data.get("password", ""))
|
||||
address = auth.client_address(request.headers, request.remote_addr)
|
||||
if auth.active_mode() == auth.AUTH_LOCAL:
|
||||
identity = auth.login_local(username, password, address)
|
||||
else:
|
||||
identity = auth.login_cwa(username, password, orchestrator.cwa(), address)
|
||||
except auth.AuthError as e:
|
||||
return {"error": str(e)}, 401
|
||||
session.clear()
|
||||
session["user"] = identity.name
|
||||
session["mode"] = auth.AUTH_CWA
|
||||
session["mode"] = auth.active_mode()
|
||||
if auth.active_mode() == auth.AUTH_LOCAL:
|
||||
session["local_password_version"] = auth.local_password_version()
|
||||
session.permanent = bool(data.get("remember"))
|
||||
logger.info(f"{identity.name} logged in")
|
||||
return {"authenticated": True, "user": identity.name}
|
||||
|
||||
Reference in New Issue
Block a user