![](/img/trans.png)
[英]Django rest framework with Djoser token authentication token response
[英]Return more than just the Auth Token with Django Rest + Djoser?
我使用 Django REST 和 Djoser 作為我的身份驗證服務。 但是,當向 djoser auth 端點發出 post 請求時,例如.../auth/token/login
,我得到的唯一響應是auth_token: xxxxx
例如,如果我發出成功的 post 請求,例如:
{
"username": "joe@gmail.com",
"password": "test12345"
}
我的回應將是
"auth_token": "XXXXXXXX"
但我想檢索的不僅僅是一個令牌,例如
"auth_token": "XXXXXXXX",
"user_id": 8
關於如何做到這一點的任何想法?
創建您自己的自定義令牌獲取視圖如下,
from rest_framework.authtoken.views import ObtainAuthToken
from rest_framework.authtoken.models import Token
class TokenObtainView(ObtainAuthToken):
def post(self, request, *args, **kwargs): serializer = self.serializer_class(data=request.data, context={'request': request}) serializer.is_valid(raise_exception=True) user = serializer.validated_data['user'] token, created = Token.objects.get_or_create(user=user) custom_response = { 'token': token.key, 'user_id': user.id } return Response(custom_response)
然后在你的urls.py
連接你的TokenObtainView
類
urlpatterns = [
# other patterns
path('path/to/your/custom/token/view/', views.TokenObtainView.as_view(), name='new-token,obtain-view')
]
現在,您應該使用端點path/to/your/custom/token/view/
來獲取自定義響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.