token验证的前后端流程

1.什么是token?
一般我们所说的的token大多是指用于身份验证的token,在计算机身份认证中是令牌(临时)的意思。

2.生成token
生成Token的解决方案有许多,常用的一种就是 Json Web Tokens
JWT标准的Tokens由三部分组成

  1. header:包含token的类型和加密算法
  2. payload:包含token的内容
  3. signature:通过密钥将前两者加密得到最终的token

后端部分(nodejs)

首先引入jsw模块

 cnpm  install  jsonwebtoken  -S

在文件中引入。

 var jwt = require("jsonwebtoken");

然后构建 生成token和验证token的两个模块

生成token接收两个参数(token的主题,token生命周期):代码如下

验证token接收三个参数(token,token错误时的函数,token正确时的函数)

(注意!!解密的key必须是生成token时的key。否则解密的token不对永远执行失败函数。)
最后导出这两个函数供其他文件使用:

在后端接口中添加生成的token给前端
如登陆成功后就生成一个token返回给前端:

res.send({state: true,token:getToken.createToken(username,900),des: "登陆成功"
})

前端的每一次请求都验证token是否正确,正确就执行数据库操作,并且重新生成一个新的token返回给前端。否则抛回错误提示。

前端部分(jquery)

在第一次交互后 使用本地存储 存储后端返回的token,在后面的请求中都带上token。
(ps:建议使用sessionStorage存储,比较符合需求)

下面是用户名密码验证通过后:先存储token,在进行页面跳转

在post请求中传入参数-token(不带参数,后端没有收到正确的token就拿不到数据)

$.post("http://127.0.0.1:8081/all", { token: sessionStorage.token }, function (data) {if (data.state == false) {alert(data.des);return;}//下面是请求正确后的操作sessionStorage.token  =  data.token //存储后端返回的新token//接着操作......})

token验证的前后端流程与操作相关推荐

  1. php 跨域 验证_php 前后端分离开发进行跨域请求时ajax发送验证参数token的header头解决方法...

    php前后端分离开发中要实现前后端参数信息交互,必须解决token标识验证问题. 步骤如下: 1.前端ajax发送请求时,要设置一个自定义header头.代码如下: $.ajax({ url:&quo ...

  2. 利用JWT安全验证(前后端分离,单点登录,分布式微服务)

    JWT官网: https://jwt.io/ JWT(Java版)的github地址:https://github.com/jwtk/jjwt JWT请求流程 用户使用账号和面发出post请求: 服务 ...

  3. 基于jwt的token验证、原理及流程

    来源:www.cnblogs.com/better-farther-world2099 一.什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JS ...

  4. 【VUE】vue实现登录滑动拼图验证的两种方法,纯前端组件验证以及前后端同时验证

    vue实现登录滑动拼图验证的两种方法: 第一种是纯前端组件验证,只能区分是人为操作还是机器操作. 第二种是前后端同时验证,这种方法加上后端校验相对会更安全一些.(注:在最底部加上了同时兼容移动端的方法 ...

  5. 前后端分离项目token怎么验证_前后端分离,获取token,验证登陆是否失效

    public classJwtUtils {/*** 密钥*/ private static final String SECRET="xxxx";/*** 默认字段key:exp ...

  6. 鸿蒙app前后端流程实现

    首先要理解django里面的文件 1.使用的是MySQL,这里需要在__init__.py导入pymysql,,注意是创建项目时生成的__init__.py文件(我用的MySQL和django都是在云 ...

  7. 微信pc端扫码支付前后端流程(Node.js)

    大致流程 不必须事先微信登录, 后台发送本次交易的数据到微信联合支付接口, 返回一个微信提供的交易二维码url, 将这个url返回给前端 前端将这个地址转换成一个二维码, 并且开启一个轮询(或webs ...

  8. spring security 前后端分离 进行用户验证 权限登陆的实现代码(看不懂??直接cv)

    目录 目录 前言: 一.所需依赖 二.application.properties 三.工具类 3.1ApplicationContextUtils 3.2JwtUtils 3.3ResponseRe ...

  9. 前后端分离的用户验证原理及Spring Boot + JWT的框架搭建(附完整的框架代码)之二

    本篇承接上一篇,关于Session以及JWT Token参考: 前后端分离的用户验证原理及Spring Boot + JWT的框架搭建(附完整的框架代码)之一 框架整体描述 框架使用Spring Bo ...

最新文章

  1. html表单的数据保存在哪里,提交和保存表单数据
  2. Swift之高德地图自定义标注弹出气泡样式
  3. Stanford UFLDL教程 矢量化编程
  4. 用计算机打出圣诞树,手机计算器圣诞树的祝福输入方式,手机计算器圣诞树获得方法...
  5. C#程序集相关的概念
  6. 题目1362:左旋转字符串(Move!Move!!Move!!!)
  7. 【微机原理与接口技术】具体芯片(1)并行接口8255A(1):全局观
  8. LeetCode 68. 文本左右对齐(字符串逻辑题)
  9. 真实的布兰妮,有点壮
  10. 用python解决约瑟夫环
  11. 枚举+贪心--经常用到的思路--过程不好弄是--枚举结果C. Elections
  12. Base64编码格式详解
  13. SQL数据库面试题以及答案(50例题)
  14. 【ant.design】解决Instance created by `useForm` is not connected to any Form element.
  15. linux中prometheus的使用
  16. 焦作机器人编程比赛_2018 焦作icpc现场赛总结
  17. 玄武科技——前端面试题总结
  18. 损失函数、代价函数和目标函数的区别
  19. 京东智能供应链平台应急场景实践
  20. win10环境安装tensorflow-gpu,软件版本、硬件支持、安装过程

热门文章

  1. 藍貝琪栩兒_女生QQ网名
  2. 接入wps实现预览功能
  3. 艺人评价黄家驹与他的BEYOND乐队
  4. 【零基础小白的华丽蜕变】Linux 远程登录 MobaXterm 万能工具箱的下载及安装
  5. 老mac笔记本更换SSD固态硬盘启动失败的解决办法
  6. 双11百元高性价比蓝牙耳机推荐,低延迟续航给力学生党蓝牙耳机分享
  7. cubemx 读卡器_STM32CubeMX+Keil实现 STM32F4 SDcard+SPI Flash读卡器
  8. 关于北京中科银河芯(GXCAS)----国产新一代温度传感器芯片GX18B20的性能以及实用性研究
  9. docker的五种网络(六):
  10. 【Redis :非关系型数据库】