【发布时间】:2018-11-23 16:22:11
【问题描述】:
我正在尝试创建一个 api 调用,该调用将返回登录个人的用户名及其照片。我正在通过应用程序登录并尝试在用户登录时触发该 api 调用。
我正在使用 rest_framework_simplejwt 登录并分配一个令牌,然后通过应用程序返回该令牌以用于访问各种 api 调用中的数据。
现在 这是我目前所拥有的:
url(r'^api/token/$', TokenObtainPairView.as_view(), name='token_obtain_pair'),
一旦验证发生并且用户得到一个令牌,我将启动这个 api 调用。
API 调用:
@csrf_exempt
def current_user(request):
if request.method == 'POST':
driver = JWTAuthentication().authenticate(request)[0].driver
driverInfo = request.user.get_full_name()
return JsonResponse({"success": driverInfo})
这是我的序列化程序:
from rest_framework_simplejwt.serializers import TokenObtainPairSerializer
from rest_framework_simplejwt.views import TokenObtainPairView
class MyTokenObtainPairSerializer(TokenObtainPairSerializer):
@classmethod
def get_token(cls, user):
token = super(MyTokenObtainPairSerializer, cls).get_token(user)
# Add custom claims
token['name'] = user.name
# ...
return token
class MyTokenObtainPairView(TokenObtainPairView):
serializer_class = MyTokenObtainPairSerializer
它只返回令牌,没有别的。任何帮助将不胜感激
【问题讨论】:
标签: python django django-rest-framework python-requests jwt