Files
msa-django-auth/users/serializers.py
2025-04-22 18:40:18 +09:00

34 lines
1.1 KiB
Python

from rest_framework import serializers
from .models import CustomUser
from rest_framework_simplejwt.serializers import TokenObtainPairSerializer
class RegisterSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
class Meta:
model = CustomUser
fields = ('email', 'name', 'password', 'grade')
def create(self, validated_data):
password = validated_data.pop('password')
user = CustomUser(**validated_data)
user.set_password(password)
user.save()
return user
class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
@classmethod
def get_token(cls, user):
token = super().get_token(user)
# ✅ JWT payload에 커스텀 정보 추가
token["name"] = user.name
token["grade"] = user.grade
token["email"] = user.email # 선택적으로 추가 가능
return token
# def validate(self, attrs):
# data = super().validate(attrs)
# data['name'] = self.user.name # ✅ 여기에 토큰 응답 추가 정보 삽입
# return data