1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from pot_libs.aredis_util.aredis_utils import RedisUtils
from pot_libs.logger import log
from jwt.utils import base64url_decode
from pot_libs.aes_util.aes_util import PrpCrypt
import json
def jwt_user(request):
"""从jwt中解析user_id"""
token = request.token
if not token:
return None
try:
payload = base64url_decode(token.split(".")[1])
except:
return None
payload = json.loads(payload.decode("utf-8"))
user_id = payload.get("user_id")
return user_id
async def auth_phone_verify(phone, verify):
"""检验手机验证码"""
verify_server = await RedisUtils().get(f"sms:sms_{phone}")
log.info(f"auth_phone_verify phone:{phone}, verify_server:{verify_server},"
f"verify:{verify}")
if not verify_server:
return False
if isinstance(verify_server, str) and verify != verify_server:
return False
if isinstance(verify_server, bytes) and verify != verify_server.decode():
return False
return True
def check_password(password):
"""加密密码"""
pc = PrpCrypt()
password_enc_b = pc.encrypt(str(password))
password_enc = str(password_enc_b, encoding='utf-8')
return password_enc