token

当用户输入完用户名和密码后,客户端会将这些凭据发送到后端服务器进行验证。后端服务器会根据用户名和密码的正确性来生成一个 token。生成 token 的过程可以包括以下几个步骤:

  1. 后端服务器接收到用户名和密码。
  2. 服务器会验证用户名和密码的正确性。这通常涉及到查询数据库或其他验证方式。
  3. 如果验证成功,服务器会生成一个 token。
  4. token 可以是一个包含用户信息和其他必要信息的加密字符串。常见的生成 token 的算法有 JWT(JSON Web Token)等。
  5. 服务器将生成的 token 返回给客户端。
  6. 客户端在后续的请求中将 token 放在请求的头部或者请求参数中。
  7. 后端服务器在接收到请求时,会验证 token 的有效性,确保请求是来自合法的用户。

这样的流程可以保证用户的身份验证,并且在后续的请求中使用 token 来进行身份认证和授权。

javascript 复制代码
require('dotenv').config({ path: '../../.env' })

const jwt = require('jsonwebtoken')
const key = process.env.JWT_SECRET

// 加签 : 根据密钥生成token ; 
// token : 头部(签名算法).负载(携带的数据).签名(对头和负载进行加密)
const sign = (email, username,) => {
    return new Promise((resolve, reject) => {
        jwt.sign({ email, username, }, key, (error, token) => {
            if (error) {
                return reject(error)
            }
            return resolve(token)
        })
    })
}

// 解签 :跟据密钥验证token
const decode = (token) => {
    return new Promise((resolve, reject) => {
        jwt.verify(token, key, (error, decoded) => {
            if (error) {
                return reject(error)
            }
            return resolve(decoded)
        })
    })
}

module.exports = {
    sign,
    decode
}

token:加密和解密的过程

相关推荐
hgdlip3 分钟前
查看ip地址的方法有几种?探索多样方法
运维·服务器·ip地址
danplus29 分钟前
node发送邮件:如何实现Node.js发信功能?
服务器·node.js·外贸开发信·邮件群发·蜂邮edm邮件营销·邮件接口·营销邮件
BeyondESH43 分钟前
Linux线程同步—竞态条件和互斥锁(C语言)
linux·服务器·c++
wn53144 分钟前
【Go - 类型断言】
服务器·开发语言·后端·golang
hanniuniu131 小时前
详细解读,F5服务器负载均衡的技术优势
运维·服务器·负载均衡
PatrickYao04221 小时前
记一次安装discuz时遇到的错误
服务器
小宋10213 小时前
玩转RabbitMQ声明队列交换机、消息转换器
服务器·分布式·rabbitmq
m0_609000423 小时前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作
kejijianwen5 小时前
JdbcTemplate常用方法一览AG网页参数绑定与数据寻址实操
服务器·数据库·oracle
Karoku0668 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构