首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django restful API -使用token获取用户id

Django restful API -使用token获取用户id
EN

Stack Overflow用户
提问于 2018-07-23 22:21:37
回答 3查看 3.2K关注 0票数 3

如何从有鉴权token的Django API获取用户ID?基本上,我想发送身份验证令牌并获取用户id。我尝试过这个解决方案:How can I return user ID with token in Django?,但它返回的令牌带有提供的用户名和密码,这不是我想要的。

EN

回答 3

Stack Overflow用户

发布于 2018-07-23 23:59:01

代码语言:javascript
复制
#myapp/views.py
class UserIdViewSet(viewsets.ModelViewSet):
    serializer_class = UserSerializer

    def get_queryset(self):
        return User.objects.filter(id=self.request.user.id)

#myapp/urls.py
router.register(r'api/user-id', userviews.UserIdViewSet, base_name="UserId")

解决这个问题。基本上创建了视图集,并根据当前用户对其进行排序。

票数 4
EN

Stack Overflow用户

发布于 2018-07-23 22:51:47

您使用哪种类型的身份验证?

例如,如果您从rest_framework使用TokenAuthentication,那么您可以看到该类是如何实现请求身份验证的。

你可以找到authenticateauthenticate_credentials的方法,我相信在那里-你会找到如何获得用户的答案。

票数 1
EN

Stack Overflow用户

发布于 2019-05-28 06:44:40

在perform_create方法中,您可以将用户分配给模型

代码语言:javascript
复制
class EmailViewSet(viewsets.ModelViewSet):
    authentication_classes = (TokenAuthentication)
    permission_classes = (IsAuthenticated,)
    queryset = Email.objects.all()
    serializer_class = EmailSerializer

    def perform_create(self, serializer):
        serializer.save(user=self.request.user)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51481072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档