0

django-rest-authは、今私はレスポンスボディにaccess_tokenを期待し、認証のために特別にoauth2-password-grantember-simple-authを使用しています次の応答django-rest-authの `access_token`に` key`の名前を変更しますか?認証の

{"key":"XXXXXXXXXXXXXX"} 

を送信します。 ember js hereのソースコードを見て、私は値access_tokenが文字列として定義されていることを知り、変更することができませんでした。私の質問は、私は2つのスタックを使用して認証を実装する方法です。 djangoでkeyからaccess_tokenに名前を変更する方法はありますか?

答えて

0

あなたはジャンゴ・休息-AUTHから元LoginViewをサブクラス独自のMyLoginViewを作成し、access_tokenフィールドを返すカスタムシリアライザを作成することができます。

このような何か:

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'), 
関連する問題