12345678910111213141516171819202122232425262728293031 |
- import jwt
- import datetime
- from jwt import exceptions
- from django.conf import settings
- JWT_SALT = "ds()udsjo@jlsdosjf)wjd_#(#)$"
- def create_token(payload):
- headers = {
- "type": "jwt",
- "alg": "HS256"
- }
- payload['exp'] = datetime.datetime.utcnow() + datetime.timedelta(seconds=settings.JWT_TIME)
- result = jwt.encode(payload=payload, key=JWT_SALT, algorithm="HS256", headers=headers)
- return result
- def parse_payload(token):
- result = {"status": False, "data": None, "error": None}
- try:
- verified_payload = jwt.decode(token, JWT_SALT, algorithms="HS256", verify=True)
- result["status"] = True
- result['data'] = verified_payload
- except exceptions.ExpiredSignatureError:
- result['err'] = 'Token Expired'
- except jwt.DecodeError:
- result['err'] = 'Token Authentication Failed'
- except jwt.InvalidTokenError:
- result['err'] = 'Illegal Token'
- return result
|