Django API 开发:实现用户登录与注册(下)

简介: 现在,我们需要更新身份验证系统以使用令牌。 第一步是更新我们的 DEFAULT_AUTHENTICATION_CLASSES 设置以使用 TokenAuthentication

Tokens

为确保一切正常,请通过可浏览的 API 端点创建第三个用户帐户。 我已经将我的用户称为 testuser2 。 然后点击“ POST”按钮。

网络异常,图片无法展示
|


下一个屏幕显示来自服务器的 HTTP 响应。 我们的用户注册 POST 成功,因此在顶部创建了状态代码 HTTP 201。 返回值密钥是此新用户的身份验证令牌。


网络异常,图片无法展示
|


如果您查看命令行控制台,那么 django-allauth 将自动生成一封电子邮件。 可以更新此默认文本,并添加具有 Django 初学者介绍的其他配置的电子邮件 SMTP 服务器。

Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [example.com] Please Confirm Your E-mail Address From: webmaster@localhost
To: testuser2@email.com
Date: Wed, 10 Oct 2019 19:29:24 -0000
Message-ID: <153626216499.84718.7765647716299907673@1.0.0.127.in-addr.arpa>
Hello from example.com!
You're receiving this e-mail because user testuser2 has given yours as an\ e-mail address to connect their account.
To confirm this is correct, go to http://127.0.0.1:8000/api/v1/rest-auth/\ registration/account-confirm-email/MQ:1fxzy0:4y-f6DqQFZVNB_-PgBI4Iq_M4iM/
Thank you from example.com! 
example.com


在您的网络浏览器中,通过 http://127.0.0.1:8000/admin/ 切换到 Django admin。 您将需要使用您的超级用户帐户。


然后,单击页面顶部的令牌链接。


网络异常,图片无法展示
|


您将被重定向到位于以下位置的令牌页面:


http://127.0.0.1:8000/admin/authtoken/token/


网络异常,图片无法展示
|


Django REST 框架已为 testuser2 用户生成了一个令牌。 通过 API 创建其他用户时,其令牌也将显示在此处。


逻辑上的问题是,为什么我们的超级用户帐户或测试用户没有令牌? 答案是我们在添加令牌认证之前创建了这些帐户。 但是不用担心,一旦我们通过 API 使用任一帐户登录,令牌就会自动添加并可用。


继续,让我们使用我们的新 testuser2 帐户登录。 打开 Web 浏览器,访问 http://127.0.0.1:8000/api/v1/rest-auth/login/


输入我们的 testuser2 帐户的信息。 点击“ POST”按钮。


网络异常,图片无法展示
|


发生了两件事。 在右上角,我们的用户帐户 testuser2 可见,确认我们现在已登录。服务器还发送了带有令牌的 HTTP 响应。


网络异常,图片无法展示
|


在我们的前端框架中,我们需要在本地存储中或以 cookie 的形式在客户端上捕获并存储此令牌。 然后配置我们的应用程序,以便所有将来的请求都在标头中包含令牌,以作为认证用户的一种方式。

总结

首次使用 Web API 时,用户身份验证是最难掌握的领域之一。 没有整体结构的好处,作为开发人员,我们必须深入了解并适当配置我们的 HTTP 请求/响应周期。


Django REST Framework 对此过程提供了很多内置支持,包括内置 TokenAuthentication。 但是,开发人员必须自己配置其他区域,例如用户注册和专用的 url/ 视图。 因此,一种流行,强大且安全的方法是依靠第三方软件包 django-rest-auth 和 django-allauth 来最大程度地减少必须从头开始编写的代码量。

相关文章
|
21天前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
2月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
2月前
|
人工智能 自然语言处理 机器人
使用 API 编程开发扣子应用
扣子(Coze)应用支持通过 API 编程,将 AI 聊天、内容生成、工作流自动化等功能集成至自有系统。主要 API 包括 Bot API(用于消息交互与会话管理)及插件与知识库 API(扩展功能与数据管理)。开发流程包括创建应用、获取密钥、调用 API 并处理响应,支持 Python 等语言。建议加强错误处理、密钥安全与会话管理,提升集成灵活性与应用扩展性。
761 0
|
4月前
|
数据采集 测试技术 API
小白必看!电商 API 开发避坑指南:签名错误、权限申请全解决
本文总结电商API开发常见问题与解决方案,涵盖京东、淘宝、拼多多的签名规则、权限申请、频率限制等核心踩坑点,结合实战案例,助你高效避坑,提升开发效率90%。
|
4月前
|
存储 监控 API
零基础 3 天搞定京东 / 淘宝 API 开发,从注册到调通接口全流程拆解
本文详解京东/淘宝API开发入门,涵盖账号注册、应用创建、签名生成及实战项目,助零基础开发者3天掌握电商API调用,实现商品数据获取与价格监控。
|
4月前
|
人工智能 自然语言处理 测试技术
Apipost 与 Apifox 深度对比:谁是 API 开发的最佳拍档?
在 API 开发中,Apipost 与 Apifox 是两款流行的国产工具。本文通过实际项目的对比发现,Apipost 在 AI 功能方面表现突出,如 AI 自动生成文档、测试用例、脚本等,显著提升开发效率。基础功能上,Apipost 也更全面,支持离线使用、OpenAPI 格式导出、多种协议及数据库字典导入,界面简洁易用,综合性能优于 Apifox。
214 5
|
3月前
|
前端开发 Java API
利用 Spring WebFlux 技术打造高效非阻塞 API 的完整开发方案与实践技巧
本文介绍了如何使用Spring WebFlux构建高效、可扩展的非阻塞API,涵盖响应式编程核心概念、技术方案设计及具体实现示例,适用于高并发场景下的API开发。
310 0
|
3月前
|
存储 监控 算法
淘宝买家秀 API开发实录Python(2025)
本文讲述了作者在电商开发领域,尤其是对接淘宝买家秀 API 接口过程中所经历的挑战与收获。从申请接入、签名验证、频率限制到数据处理和实时监控,作者分享了多个实战经验与代码示例,帮助开发者更高效地获取和处理买家秀数据,提升开发效率。
|
28天前
|
API 开发者 数据采集
高效获取淘宝商品详情:API 开发实现链接解析的完整技术方案
2025反向海淘新机遇:依托代购系统,聚焦小众垂直品类,结合Pandabay数据选品,降本增效。系统实现智能翻译、支付风控、物流优化,助力中式养生茶等品类利润翻倍,新手也能快速入局全球市场。
高效获取淘宝商品详情:API 开发实现链接解析的完整技术方案
|
4月前
|
数据采集 缓存 监控
唯品会 API 开发痛点解析:从权限申请到数据清洗的实战经验
本文深入解析唯品会开放平台(VOP)API开发全流程,涵盖权限申请、签名机制、数据清洗、性能优化等核心挑战与实战解决方案,助力开发者高效构建稳定可靠的电商数据整合系统。