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:加密和解密的过程

相关推荐
青梅橘子皮3 小时前
Linux---基本指令
linux·运维·服务器
cui_ruicheng5 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
运维全栈笔记5 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web
dllmayday6 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows
ACP广源盛139246256736 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
峥无7 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
lzhdim9 小时前
SQL 入门 12:SQL 视图:创建、修改与可更新视图
java·大数据·服务器·数据库·sql
2401_8734794010 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
草履虫君12 小时前
VMware 虚拟机网络性能优化指南:从 11 秒到 4 秒的完整调优实践
服务器·网络·经验分享·性能优化
日取其半万世不竭12 小时前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器