# 完善token登录
This commit is contained in:
parent
665d5d21eb
commit
24193d1298
|
@ -6,10 +6,30 @@ User = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
class UserDetailSerializer(serializers.ModelSerializer):
|
class UserDetailSerializer(serializers.ModelSerializer):
|
||||||
|
name = serializers.SerializerMethodField()
|
||||||
|
token = serializers.SerializerMethodField()
|
||||||
|
roles = serializers.SerializerMethodField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
fields = ['username', 'email']
|
fields = [
|
||||||
|
'username',
|
||||||
|
'name',
|
||||||
|
'email',
|
||||||
|
'roles',
|
||||||
|
'introduction',
|
||||||
|
'avatar',
|
||||||
|
'token'
|
||||||
|
]
|
||||||
|
|
||||||
|
def get_name(self, obj):
|
||||||
|
return obj.username
|
||||||
|
|
||||||
|
def get_token(self, obj):
|
||||||
|
return obj.username
|
||||||
|
|
||||||
|
def get_roles(self, obj):
|
||||||
|
return obj.role.split()
|
||||||
|
|
||||||
|
|
||||||
class UserLoginSerializer(serializers.ModelSerializer):
|
class UserLoginSerializer(serializers.ModelSerializer):
|
||||||
|
|
|
@ -46,11 +46,12 @@ class UserDetailAPIView(RetrieveAPIView):
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
token = request.GET.get('token', None)
|
token = request.GET.get('token', None)
|
||||||
data = {'token': token}
|
data = {'token': token}
|
||||||
# try:
|
try:
|
||||||
valid_data = VerifyJSONWebTokenSerializer().validate(data)
|
valid_data = VerifyJSONWebTokenSerializer().validate(data)
|
||||||
user = valid_data['user']
|
user = valid_data['user']
|
||||||
serializer = self.get_serializer(user)
|
serializer = self.get_serializer(user)
|
||||||
return Response(serializer.data, HTTP_200_OK)
|
return Response(serializer.data, HTTP_200_OK)
|
||||||
# except serializers.ValidationError as exc:
|
except serializers.ValidationError as exc:
|
||||||
# response = exception_handler(exc, context=None)
|
exc.detail = exc.detail[0]
|
||||||
# return response
|
response = exception_handler(exc, context=None)
|
||||||
|
return response
|
||||||
|
|
|
@ -46,9 +46,6 @@ INSTALLED_APPS = [
|
||||||
'smart',
|
'smart',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
CORS_ORIGIN_ALLOW_ALL = True
|
|
||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
'corsheaders.middleware.CorsMiddleware',
|
'corsheaders.middleware.CorsMiddleware',
|
||||||
'django.middleware.security.SecurityMiddleware',
|
'django.middleware.security.SecurityMiddleware',
|
||||||
|
@ -60,6 +57,13 @@ MIDDLEWARE = [
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
CORS_ORIGIN_ALLOW_ALL = True
|
||||||
|
CORS_ALLOW_HEADERS = [
|
||||||
|
'X-Token',
|
||||||
|
'Content-Type',
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
ROOT_URLCONF = 'mosqkiller.urls'
|
ROOT_URLCONF = 'mosqkiller.urls'
|
||||||
|
|
||||||
TEMPLATES = [
|
TEMPLATES = [
|
||||||
|
|
Loading…
Reference in New Issue