django - 如何与使用 DRF 制作的 REST api 进行交互
问题描述
我正在尝试使用由 django REST framework 制作的 REST api 将数据发送到我的 react native 应用程序。对于身份验证,我使用了 allauth,它在创建用户时创建了一个 authtoken。我的问题是:我不知道下一步该做什么(一旦我有了令牌)。我希望能够使用 API 检索我的用户数据,但我不知道如何使用 DRF 处理身份验证。
每次我提出请求时都必须发送令牌吗?如果是,json 会想要什么?(带有本机反应的前端)
如何发回数据?会不会是这样:
def sendUsername(request):
return request.user.get_username()
如果不是怎么办?如果是的话,它看起来不是很安全,所以有没有办法让它至少更安全一点?
如果它看起来很愚蠢,我真的很抱歉。
感谢您的时间。
解决方案
我用 DRF 做了类似的事情,但没有 React,也许我会给你一个如何进行的想法
后端 1.- 创建一个端点来登录 1.1.- 刷新用户令牌 1.2.- 返回用户令牌 2.- 保护 api 使其无法接受没有令牌的请求
前端 1.- 将用户令牌存储在 localStorage 2.- 使用用户令牌发出所有请求
可选:如果需要,可以创建一个中间件来控制 Authentication 方法
推荐阅读
- javascript - NodeJS 仅在将所有对象保存到数据库后才向客户端发送响应
- javascript - React 模板文字变量样式
- node.js - ReferenceError: 要求未定义(在我的休息 api 上)
- swift - 如何创建一组具有在 SwiftUI 中编辑的单独变量的文本字段?
- javascript - 同时播放多个音频文件的组件(点击时)Aframe webVR
- swift - 无法更改颜色:“MKAnnotationView”类型的值没有成员“pinTintColor”
- reactjs - 反应 useMeasure 不适用于 nextJS?
- xcode - 如何将 USB 上的 .xip 文件扩展至内部硬盘?
- javascript - 鼠标悬停在 li 上时,没有顺利更改 img
- linux - Bash 命令 - 命名一个我创建的列,该列当前填充时没有列名