码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • token


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

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

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

    1. require('dotenv').config({ path: '../../.env' })
    2. const jwt = require('jsonwebtoken')
    3. const key = process.env.JWT_SECRET
    4. // 加签 : 根据密钥生成token ;
    5. // token : 头部(签名算法).负载(携带的数据).签名(对头和负载进行加密)
    6. const sign = (email, username,) => {
    7. return new Promise((resolve, reject) => {
    8. jwt.sign({ email, username, }, key, (error, token) => {
    9. if (error) {
    10. return reject(error)
    11. }
    12. return resolve(token)
    13. })
    14. })
    15. }
    16. // 解签 :跟据密钥验证token
    17. const decode = (token) => {
    18. return new Promise((resolve, reject) => {
    19. jwt.verify(token, key, (error, decoded) => {
    20. if (error) {
    21. return reject(error)
    22. }
    23. return resolve(decoded)
    24. })
    25. })
    26. }
    27. module.exports = {
    28. sign,
    29. decode
    30. }

    token:加密和解密的过程

  • 相关阅读:
    考华为HCIE认证有什么好处?难考吗?
    [iOS]-Block
    记录一个在公司写的简单Demo使用串口通信
    bazel远程构建(Remote Execution) -- Buildfarm介绍和部署测试
    2023 年最新Java 毕业设计选题题目参考,500道 Java 毕业设计题目,值得收藏
    SQL语法之SQL DEFAULT 约束
    无需重新学习,使用 Kibana 查询/可视化 SLS 数据
    基于centos7安装多实例mysql8.0完整版(超级详细)
    如何隐藏这个 columns: [ { title: ‘操作‘, dataIndex: ‘action‘,
    在https页面,通过iframe实现http跨域访问(解决iframe页面点击浏览器刷新按钮后返回首页问题)
  • 原文地址:https://blog.csdn.net/czlj1998/article/details/133277287
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号