token验证的前后端流程与操作
token验证的前后端流程
1.什么是token?
一般我们所说的的token大多是指用于身份验证的token,在计算机身份认证中是令牌(临时)的意思。
2.生成token
生成Token的解决方案有许多,常用的一种就是 Json Web Tokens
JWT标准的Tokens由三部分组成
- header:包含token的类型和加密算法
- payload:包含token的内容
- 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验证的前后端流程与操作相关推荐
- php 跨域 验证_php 前后端分离开发进行跨域请求时ajax发送验证参数token的header头解决方法...
php前后端分离开发中要实现前后端参数信息交互,必须解决token标识验证问题. 步骤如下: 1.前端ajax发送请求时,要设置一个自定义header头.代码如下: $.ajax({ url:&quo ...
- 利用JWT安全验证(前后端分离,单点登录,分布式微服务)
JWT官网: https://jwt.io/ JWT(Java版)的github地址:https://github.com/jwtk/jjwt JWT请求流程 用户使用账号和面发出post请求: 服务 ...
- 基于jwt的token验证、原理及流程
来源:www.cnblogs.com/better-farther-world2099 一.什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JS ...
- 【VUE】vue实现登录滑动拼图验证的两种方法,纯前端组件验证以及前后端同时验证
vue实现登录滑动拼图验证的两种方法: 第一种是纯前端组件验证,只能区分是人为操作还是机器操作. 第二种是前后端同时验证,这种方法加上后端校验相对会更安全一些.(注:在最底部加上了同时兼容移动端的方法 ...
- 前后端分离项目token怎么验证_前后端分离,获取token,验证登陆是否失效
public classJwtUtils {/*** 密钥*/ private static final String SECRET="xxxx";/*** 默认字段key:exp ...
- 鸿蒙app前后端流程实现
首先要理解django里面的文件 1.使用的是MySQL,这里需要在__init__.py导入pymysql,,注意是创建项目时生成的__init__.py文件(我用的MySQL和django都是在云 ...
- 微信pc端扫码支付前后端流程(Node.js)
大致流程 不必须事先微信登录, 后台发送本次交易的数据到微信联合支付接口, 返回一个微信提供的交易二维码url, 将这个url返回给前端 前端将这个地址转换成一个二维码, 并且开启一个轮询(或webs ...
- spring security 前后端分离 进行用户验证 权限登陆的实现代码(看不懂??直接cv)
目录 目录 前言: 一.所需依赖 二.application.properties 三.工具类 3.1ApplicationContextUtils 3.2JwtUtils 3.3ResponseRe ...
- 前后端分离的用户验证原理及Spring Boot + JWT的框架搭建(附完整的框架代码)之二
本篇承接上一篇,关于Session以及JWT Token参考: 前后端分离的用户验证原理及Spring Boot + JWT的框架搭建(附完整的框架代码)之一 框架整体描述 框架使用Spring Bo ...
最新文章
- html表单的数据保存在哪里,提交和保存表单数据
- Swift之高德地图自定义标注弹出气泡样式
- Stanford UFLDL教程 矢量化编程
- 用计算机打出圣诞树,手机计算器圣诞树的祝福输入方式,手机计算器圣诞树获得方法...
- C#程序集相关的概念
- 题目1362:左旋转字符串(Move!Move!!Move!!!)
- 【微机原理与接口技术】具体芯片(1)并行接口8255A(1):全局观
- LeetCode 68. 文本左右对齐(字符串逻辑题)
- 真实的布兰妮,有点壮
- 用python解决约瑟夫环
- 枚举+贪心--经常用到的思路--过程不好弄是--枚举结果C. Elections
- Base64编码格式详解
- SQL数据库面试题以及答案(50例题)
- 【ant.design】解决Instance created by `useForm` is not connected to any Form element.
- linux中prometheus的使用
- 焦作机器人编程比赛_2018 焦作icpc现场赛总结
- 玄武科技——前端面试题总结
- 损失函数、代价函数和目标函数的区别
- 京东智能供应链平台应急场景实践
- win10环境安装tensorflow-gpu,软件版本、硬件支持、安装过程
热门文章
- 藍貝琪栩兒_女生QQ网名
- 接入wps实现预览功能
- 艺人评价黄家驹与他的BEYOND乐队
- 【零基础小白的华丽蜕变】Linux 远程登录 MobaXterm 万能工具箱的下载及安装
- 老mac笔记本更换SSD固态硬盘启动失败的解决办法
- 双11百元高性价比蓝牙耳机推荐,低延迟续航给力学生党蓝牙耳机分享
- cubemx 读卡器_STM32CubeMX+Keil实现 STM32F4 SDcard+SPI Flash读卡器
- 关于北京中科银河芯(GXCAS)----国产新一代温度传感器芯片GX18B20的性能以及实用性研究
- docker的五种网络(六):
- 【Redis :非关系型数据库】