首页 > 解决方案 > 将访问令牌与 Reactjs 前端一起使用

问题描述

我使用 Nodejs、Expressjs、MongoDB 和 JWT 制作了一个身份验证 API。现在,我正在使用 React-js 制作一个小型前端,它只执行注册和登录。我集成了注册,现在当我尝试将登录与前端集成时,当我点击登录端点时,我得到了访问令牌。我不知道如何使用访问令牌对用户进行身份验证。谁能帮我解决这个问题?

{
    "id": "5f2bc55f5ea2f61fd8b26fcf",
    "username": "wango",
    "email": "wango@gmail.com",
    "roles": [
        "user",
        "admin"
    ],
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVmMmJjNTVmNWVhMmY2MWZkOGIyNmZjZiIsImlhdCI6MTU5Njc4ODgxOSwiZXhwIjoxNTk2ODc1MjE5fQ.NkGUSgQ237ifRSrPxtJCSG9W463SFy_VDGlfapNwr1U"
}

我附上了使用用户名和密码点击端点时得到的响应的代码片段。

标签: javascriptnode.jsexpressjwt

解决方案


您需要以某种方式在客户端本地存储您的访问令牌(cookie、localStorage、indexedDb)。您还需要一个刷新令牌来保持一个连续的会话。我个人建议将 JWT 存储在cookie 中http-onlysecure然后,您会将访问令牌附加到每个受保护端点的请求中

Authorization: Bearer {token}

标头(或每个请求,具体取决于您的后端配置)。


推荐阅读