-
Notifications
You must be signed in to change notification settings - Fork 1
/
serializers.py
27 lines (20 loc) · 758 Bytes
/
serializers.py
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
from django.conf import settings
from django.core.validators import RegexValidator
from drfpasswordless.serializers import EmailAuthSerializer
from rest_framework import serializers
import jwt
from .utils import decode_jwt
class EmailAuthWhiteListSerializer(EmailAuthSerializer):
email_regex = RegexValidator(
regex=settings.EMAIL_WHITE_LIST,
message=settings.EMAIL_WHITE_LIST_MESSAGE,
)
email = serializers.EmailField(validators=[email_regex])
class JWTSerializer(serializers.Serializer):
token = serializers.CharField()
def validate_token(self, value):
try:
value = decode_jwt(value)
except jwt.exceptions.PyJWTError:
raise serializers.ValidationError
return value