使用 Django drf 和简单的 jwt 获取当前用户
getting the current user with Django drf and simple jwt
我试图让当前用户使用 rest 框架和简单的 jwt
我是 Django 的新手,我写了一个简单的视图来完成这项工作
class UserDetail(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
authentication_classes = [JWTAuthentication,]
permission_classes = [IsAuthenticated,]
但出于某种原因,当我 post 用户凭据在 postman 端点时它说
{
"detail": "Authentication credentials were not provided."
}
但是当我删除 ==> authentication_classes = [JWTAuthentication,] 和
permission_classes = [IsAuthenticated,]
它有效并激怒了当前用户,我的问题是这是正确的做法吗,这样做是否有任何风险,以及他们是否是更好、更安全的做法。提前致谢!!
这是 postM 请求数据
的屏幕截图
这是 URL 的 class:-
path('detail/', UserDetail.as_view({'get':'list'}), name="blacklist"),
您必须在请求中传递访问令牌。
如果对设置simplejwt没有信心,按照this guide:
如果您使用 postman 来测试 API,您可以提供如下所示的授权详细信息 image
如果您使用任何其他媒体发送请求,则可以在请求的 header 中添加授权:{"Authorization": "Bearer <access_token>"}
如果您能够生成令牌。您所要做的就是在 Postman url localhost:8000/detail/
和授权选项卡下传递令牌,select Bearer token
并粘贴已生成的令牌并发送。在 settings.py
下,通过在 AUTH_HEADER_TYPES
中的 JWT
之后添加 Bearer
来编辑简单 JWT 设置。希望这对你有用。
我试图让当前用户使用 rest 框架和简单的 jwt
我是 Django 的新手,我写了一个简单的视图来完成这项工作
class UserDetail(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
authentication_classes = [JWTAuthentication,]
permission_classes = [IsAuthenticated,]
但出于某种原因,当我 post 用户凭据在 postman 端点时它说
{
"detail": "Authentication credentials were not provided."
}
但是当我删除 ==> authentication_classes = [JWTAuthentication,] 和 permission_classes = [IsAuthenticated,]
它有效并激怒了当前用户,我的问题是这是正确的做法吗,这样做是否有任何风险,以及他们是否是更好、更安全的做法。提前致谢!!
这是 URL 的 class:-
path('detail/', UserDetail.as_view({'get':'list'}), name="blacklist"),
您必须在请求中传递访问令牌。 如果对设置simplejwt没有信心,按照this guide:
如果您使用 postman 来测试 API,您可以提供如下所示的授权详细信息 image
如果您使用任何其他媒体发送请求,则可以在请求的 header 中添加授权:{"Authorization": "Bearer <access_token>"}
如果您能够生成令牌。您所要做的就是在 Postman url localhost:8000/detail/
和授权选项卡下传递令牌,select Bearer token
并粘贴已生成的令牌并发送。在 settings.py
下,通过在 AUTH_HEADER_TYPES
中的 JWT
之后添加 Bearer
来编辑简单 JWT 设置。希望这对你有用。