f213/education-backend

View on GitHub
src/apps/a12n/utils.py

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import jwt
from rest_framework_jwt.settings import api_settings

from apps.users.models import User


def get_jwt(user: User) -> str:
    """Make JWT for given user"""
    jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
    jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER

    payload = jwt_payload_handler(user)

    return jwt_encode_handler(payload)


def decode_jwt_without_validation(token: str) -> dict:
    return jwt.decode(token, options={"verify_signature": False}, algorithms=["HS256"])