summaryrefslogtreecommitdiffstats
path: root/accounts/utils/login.py
diff options
context:
space:
mode:
Diffstat (limited to 'accounts/utils/login.py')
-rw-r--r--accounts/utils/login.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/accounts/utils/login.py b/accounts/utils/login.py
index 0cd1dc4..64e6ce8 100644
--- a/accounts/utils/login.py
+++ b/accounts/utils/login.py
@@ -7,14 +7,16 @@ import json
import flask_login.login_manager
from accounts.app import accounts_app
+from typing import Union, Any
+
class _compact_json:
@staticmethod
- def loads(payload):
+ def loads(payload: Union[bytes, str, bytearray]) -> Any:
return json.loads(payload)
@staticmethod
- def dumps(obj, **kwargs):
+ def dumps(obj: Union[list, dict, tuple], **kwargs):
kwargs.setdefault("ensure_ascii", False)
kwargs.setdefault("separators", (",", ":"))
return json.dumps(obj, **kwargs)
@@ -26,7 +28,7 @@ def create_login_manager() -> flask_login.login_manager.LoginManager:
login_manager.login_view = 'login.login'
@login_manager.user_loader
- def load_user(user_id: str):
+ def load_user(user_id: str) -> LoginManager:
try:
username, password = parse_userid(user_id)
return accounts_app.user_backend.auth(username, password)
@@ -37,12 +39,12 @@ def create_login_manager() -> flask_login.login_manager.LoginManager:
return login_manager
-def create_userid(username: str, password: str):
+def create_userid(username: str, password: str) -> bytes:
userid = (username, password)
return base64_encode(_compact_json.dumps(userid))
-def parse_userid(value: str):
+def parse_userid(value: str) -> Any:
return _compact_json.loads(base64_decode(value))