django 用户认证之三:token的原理和用法

当我们携带错误的token访问我们的 url 时,服务器会返回一个 401 "令牌认证失败",给我们,

但是如果我需要访问公开的资源,这个 token 又错了(或者过期了),怎么 处理呢?

因为我们之前在 django 的 settings.py 里面配置

'rest_framework.authentication.TokenAuthentication',

是一个全局的配置,所以会对所有的 restful api 资源做验证,

那么现在的需求是只对某些资源做 token 验证, 那就不能 进行 全局配置,

只需要在 需要验证的资源对应的 ViewSet (接口)里面进行 配置就可以了。

1.先导入

from rest_framework.authentication import TokenAuthentication

2.然后在接口里写入验证

class GoodsListViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):

queryset = Goods.objects.all()

serializer_class = GoodsSerializer

pagination_class = GoodsPagination

authentication_classes = (TokenAuthentication,) #进行token 验证

此时这个接口就要进行 token 验证,而 去掉这行验证代码,就不再需要做 token 验证了。

猜你喜欢

转载自blog.csdn.net/qq_26128879/article/details/82470030