Django DRF - 【Token】认证基本使用

这篇具有很好参考价值的文章主要介绍了Django DRF - 【Token】认证基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. 前言

Django Rest Framework Token是Django Rest Framework中的一个扩展,用于实现用户认证和授权。它为每个用户生成一个唯一的Token,并将其存储在数据库中。在用户进行API请求时,用户需要在请求的HTTP Header中包含Token,这样服务器就可以验证用户的身份。

二. 基本使用

1. 安装DRF Token扩展:

pip install djangorestframework
pip install django-rest-framework-authtoken

2.在Django的settings.py中添加以下配置

INSTALLED_APPS = [
    ...
    'rest_framework',
    'rest_framework.authtoken',
    ...
]

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
    ),
}

3. 迁移

python manage.py migrate

迁移完成会生成authtoken_token这张表来记录用户的token

Django DRF - 【Token】认证基本使用,DFR-Django Rest Framework框架,Django,网络安全,django,python

4. 生成Token

from rest_framework.authtoken.models import Token
from django.contrib.auth.models import User

user = User.objects.create_user(username='johnson', password='doe')
token, created = Token.objects.get_or_create(user=user)

现在,johnson用户已经有了一个令牌。可以将此令牌返回给客户端,并在以后的请求中使用它进行身份验证:

GET /api/test/ HTTP/1.1
Authorization: Token <token>

5. 使用TokenAuthentication

现在,可以通过在视图中使用TokenAuthentication来保护视图

from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.views import APIView
from rest_framework.response import Response

class TestView(APIView):
    authentication_classes = [TokenAuthentication]
    permission_classes = [IsAuthenticated]

    def get(self, request):
        return Response({'message': 'Hello, world!'})

在这个例子中,TestView视图被保护,只有经过身份验证的用户才能访问。

以上就是关于DRF - 【Token】认证基本使用, 希望对你有所帮助!文章来源地址https://www.toymoban.com/news/detail-517689.html

到了这里,关于Django DRF - 【Token】认证基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django REST Framework完整教程-认证与权限-JWT的使用

    阅读本文之前,请读者先阅读: https://plugin.blog.csdn.net/article/details/133853377,如果已经知晓Django REST Framework的基础,可以继续阅读本文内容。 认证(Authentication)与权限(Permission)不是一回事。认证是通过用户提供的用户ID/密码组合或者Token来验证用户的身份。权限(Permission)的校验

    2024年02月07日
    浏览(41)
  • Django DRF - 认证Authentication

    身份验证是将传入请求与一组标识凭据(例如,请求来自的用户或与其进行签名的令牌)相关联的机制。然后,权限和限制策略可以使用这些凭据来确定是否应允许该请求。 身份验证本身不会允许或不允许传入的请求,它只会标识发出请求的凭据。 认证管理一般和权限管理

    2023年04月12日
    浏览(37)
  • Django使用Token认证(simplejwt库的配置)

    https://django-rest-framework-simplejwt.readthedocs.io/en/latest/

    2024年02月07日
    浏览(42)
  • Django rest framework基本知识

    使用pycharm生成Django项目后,会生成工程目录和app目录 工程目录下5个文件,settings.py是全局配置相关的  urls.py是路有相关的 app相关的目录    models.py 数据库ORM对应的模型类  serializers.py 序列化与反序列化处理    views.py 根据request进行业务逻辑处理,返回response    admin.p

    2024年02月09日
    浏览(43)
  • Django-drf项目初始化:跨域、认证权限过滤、static静态资源路由,mysql数据库连接,登录注册功能

    码云地址:https://gitee.com/liuhaizhang/drf-project-initialization 项目目录结构: study_drf            -home         -static         -study_drf         -util         -manage.py pip install django #drf基于django pip install djangorestframework #drf框架 pip install mysqlclient #连接数据库 pip install djangorestframewo

    2024年02月03日
    浏览(66)
  • Python 框架学习 Django篇 (五) Session与Token认证

    我们前面经过数据库的学习已经基本了解了怎么接受前端发过来的请求,并处理后返回数据实现了一个基本的登录登出效果,但是存在一个问题,我们是将所有的请求都直接处理了,并没有去检查是否为已经登录的管理员发送的,如果是这样的话客户端可以不选择登录直接去

    2024年02月07日
    浏览(41)
  • Django系列之DRF简单使用

    models.py serializers.py app01/views.py project/urls.py app01/urls.py 使用 SimpleRouter() 可以帮我们实现五个基础的 action 方法: {“get”: “list”, “post”: “create”, “get/id”: “retrieve”, “put”: “update”, “delete”: “`destroy”} 如果需要增加一些其他的路由视图,就需要用 action 声明了。

    2024年02月15日
    浏览(35)
  • 【Django学习】(十六)session_token认证过程与区别_响应定制

    这里就直接引用别人的文章,不做过多说明 网络应用中session和token本质是一样的吗,有什么区别? - 知乎 在全局配置表中配置 rest_framework_jwt/views.py中 ​  查看ObtainJSONWebToken类: 发现里面引用了JSONWebTokenSerializer序列化器类 ​ users应用的url.py 引用obtain_jwt_token  发现rest_fra

    2024年02月15日
    浏览(39)
  • 【后端】Django与Django REST Framework的结合使用

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 随着开发语言及人工智能工具的普及,使得越来越多的人会主动学习使用一些开发语言,本文主要介绍Django与Django REST Framework的结合使用。 创建Django项目通常包括以下步骤: 安装Django : 首先,确保你的

    2024年04月26日
    浏览(35)
  • 【django开发手册】详解drf filter中DjangoFilterBackend,SearchFilter,OrderingFilter使用方式

    💖 作者简介:大家好,我是Zeeland,开源建设者与全栈领域优质创作者。 📝 CSDN主页:Zeeland🔥 📣 我的博客:Zeeland 📚 Github主页: Undertone0809 (Zeeland) 🎉 支持我:点赞👍+收藏⭐️+留言📝 💬介绍:The mixture of software dev+Iot+ml+anything🔥 【django开发手册】Django 中使用自定义用

    2024年02月09日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包