javascript - 将访问令牌与 Reactjs 前端一起使用
问题描述
我使用 Nodejs、Expressjs、MongoDB 和 JWT 制作了一个身份验证 API。现在,我正在使用 React-js 制作一个小型前端,它只执行注册和登录。我集成了注册,现在当我尝试将登录与前端集成时,当我点击登录端点时,我得到了访问令牌。我不知道如何使用访问令牌对用户进行身份验证。谁能帮我解决这个问题?
{
"id": "5f2bc55f5ea2f61fd8b26fcf",
"username": "wango",
"email": "wango@gmail.com",
"roles": [
"user",
"admin"
],
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVmMmJjNTVmNWVhMmY2MWZkOGIyNmZjZiIsImlhdCI6MTU5Njc4ODgxOSwiZXhwIjoxNTk2ODc1MjE5fQ.NkGUSgQ237ifRSrPxtJCSG9W463SFy_VDGlfapNwr1U"
}
我附上了使用用户名和密码点击端点时得到的响应的代码片段。
解决方案
您需要以某种方式在客户端本地存储您的访问令牌(cookie、localStorage、indexedDb)。您还需要一个刷新令牌来保持一个连续的会话。我个人建议将 JWT 存储在cookie 中http-only
。secure
然后,您会将访问令牌附加到每个受保护端点的请求中
Authorization: Bearer {token}
标头(或每个请求,具体取决于您的后端配置)。
推荐阅读
- r - 使用 apply(matrix,1:2,f) 获取(行号,列号)
- r - 在 R 中重构数据框
- javascript - 在小屏幕中切换搜索栏
- python - 交互式条形图
- python-3.x - Plotly 子图中的轴标签仅在左侧子图中正确显示
- azure-devops - 如何在 Azure 数据工厂的数据流中过滤时间戳列
- c++ - 我应该在这里使用原始指针吗?
- azure - Azure ARM 模板依赖于不工作(重新部署成功)
- swift - 更新到 12.2 Exc_Bad_Access 后的 XCODE 模拟器错误(代码=50,地址=0x11b40e1ad)
- python - 如何为 Keras/Tensorflow 机器学习创建(嵌套?)csv 文件加载器?