admin login

This commit is contained in:
2026-02-21 14:56:19 +08:00
parent a6d54b24f9
commit 6ad5256df9
16 changed files with 560 additions and 1 deletions

36
app/utils/webauthn.py Normal file
View File

@@ -0,0 +1,36 @@
from fido2.utils import websafe_encode, websafe_decode
def convert_bytes_to_base64(obj):
"""
递归将 dict/list 中的 bytes 转为 base64url
"""
if isinstance(obj, dict):
return {
k: convert_bytes_to_base64(v)
for k, v in obj.items()
}
elif isinstance(obj, list):
return [convert_bytes_to_base64(i) for i in obj]
elif isinstance(obj, bytes):
return websafe_encode(obj).decode("ascii")
else:
return obj
def convert_base64_to_bytes(obj):
"""
递归将 dict/list 中的 base64url 转回 bytes
"""
if isinstance(obj, dict):
return {
k: convert_base64_to_bytes(v)
for k, v in obj.items()
}
elif isinstance(obj, list):
return [convert_base64_to_bytes(i) for i in obj]
elif isinstance(obj, str):
try:
return websafe_decode(obj.encode("ascii"))
except Exception:
return obj
else:
return obj