Este team de especialistas pasados algunos días de investigación y de recopilar de datos, dieron con los datos necesarios, queremos que te sea útil en tu trabajo.
Solución:
Usando la biblioteca djangorestframework_simplejwt
-
Especifique en settings.py el USER_ID_FIELD y el ALGORITMO
SIMPLE_JWT = 'USER_ID_FIELD': 'user_id', 'ALGORITHM': 'HS512',
Digamos que desea agregar campos al cuerpo de TokenObtainPairView que tiene el siguiente cuerpo
"refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTU5MDk5ODAwMSwianRpIjoiMjZhZThhYTU4YTJiNDU3M2JlMDgxNTMzMzU1ODg4ZmUiLCJ1c2VyX2lkIjoxMX0.-jUCnfpTF-RsqHnuoEgctPpHf1SfYNcYaPs8oo01RvrQBMcyhms5PfWipfYkaR0FlPHSTKncNeMxomwd4k7nyg",
"access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTkwOTExOTAxLCJqdGkiOiI5NjZkOTFhNzEzNjg0NjMyOGUzYWU3NThiNzNiZmYxMyIsInVzZXJfaWQiOjExfQ.LiHrekmlHrM7_5187ghpIaA6mKcPCjDz4MDKPXHc4QAKVGvcJCJpCjrODCB4-pZn4Kuai5ht3YjWwYSirxpsXw"
-
Agregue su urls.py
path('api/token/', MyTokenObtainPairView.as_view(), name='token_obtain'),
-
Crear el MyTokenObtainPairView
class MyTokenObtainPairView(TokenObtainPairView): serializer_class = MyTokenObtainPairSerializer`
-
Crear el MyTokenObtainPairSerializer
class MyTokenObtainPairSerializer(TokenObtainPairSerializer): def validate(self, attrs): data = super().validate(attrs) refresh = self.get_token(self.user) data['refresh'] = str(refresh) data.pop('refresh', None) # remove refresh from the payload data['access'] = str(refresh.access_token) # Add extra responses here data['user'] = self.user.username data['kind'] = self.user.kind data['date'] = datetime.date.today() return data
De esta forma, cuando publiques en /api/token/ obtendrás algo como esto en el cuerpo
"access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTkwOTEwNTc0LCJqdGkiOiIwM2Q5MzA1NTZmNzk0NmFjODU1MzJlNTYzNjUwZDY0MCIsInVzZXJfaWQiOjExfQ.H0huO84qtzdbo4OkKhsW_vtNTGwInG67gum6f138h1y66EiyZ1BvxaxbfEE2oPG4pB0XjiWQrXc5PlR9C6UvfQ",
"user": "tiago",
"kind": "whatever_this_has"
"date": "2020-05-31"
Te mostramos reseñas y valoraciones
Recuerda compartir este tutorial si lograste el éxito.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)