0

django-rest-auth 지금은 응답 본체 access_token 기대 인증 ember-simple-auth 구체적 oauth2-password-grant를 사용하고 다음과 같은 응답을django-rest-auth에서`key_t '를`access_token`으로 이름을 바꿉니 까? 인증에

{"key":"XXXXXXXXXXXXXX"} 

보낸다. ember js here의 소스 코드를 살펴본 후 access_token 값이 문자열로 정의되어 있으며 변경할 수 없음을 알았습니다. 내 질문에 어떻게 두 스택을 사용하여 인증을 구현할 수 있습니다. django에서 keyaccess_token으로 바꿀 수있는 방법이 있습니까?

답변

0

원래 LoginView을 django-rest-auth에서 서브 클래스 화하고 access_token 필드를 리턴하는 사용자 정의 Serializer를 작성할 수있는 MyLoginView을 직접 작성할 수 있습니다. 이 같은

뭔가 :

을 my_app/serializers.py

from rest_auth.models import TokenModel 
from rest_framework import serializers 

class MyTokenSerializer(serializers.ModelSerializer): 
    """ 
    Serializer for Token model. 
    """ 
    access_token = serializers.SerializerMethodField() 

    class Meta: 
     model = TokenModel 
     fields = ('access_token',) 

    def get_access_token(self, obj): 
     return object.key 

을 my_app/views.py

from rest_auth.views import LoginView 
from my_app.serializers import MyTokenSerializer 

class MyLoginView(LoginView): 
    def get_response_serializer(self): 
     return MyTokenSerializer 

urls.py

from my_app.views import MyLoginView 

url(r'^login/$', MyLoginView.as_view(), name='my_login'),