1、关于jwt

  • JWT(json web token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。

  • JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上。

2、jwt的构成

第一部分我们称它为头部(header),第二部分我们称其为载荷(payload),第三部分是签证(signature)。

  1. header

    jwt的头部承载两部分信息:

    • 声明类型,这里是jwt

    • 声明加密的算法 通常直接使用 HMAC SHA256

完整的头部就像下面这样的JSON:

{typ: "JWT",alg: "HS256"}复制代码
  1. playload

    载荷就是存放有效信息的地方。这个名字像是特指飞机上承载的货品,这些有效信息包含三个部分

    • 标准中注册的声明

    • 公共的声明

    • 私有的声明

  2. signature

    jwt的第三部分是一个签证信息,这个签证信息由三部分组成:

    • header (base64后的)

    • payload (base64后的)

    • secret

      这个部分需要base64加密后的header和base64加密后的payload使用.连接组成的字符串,然后通过header中声明的加密方式进行加盐secret组合加密,然后就构成了jwt的第三部分:

      49UF72vSkj-sA4aHHiYN5eoZ9Nb4w5Vb45PsLF7x_NY

      密钥secret是保存在服务端的,服务端会根据这个密钥进行生成token和验证,所以需要保护好。

相对来说一个完整的jwt token信息的整体结构为:

header (base64)+payload (base64)+Signature
复制代码

3. jwt 的实现

代码实现:

// jwt 登录,config.seret 为设置的服务器密钥
// exp: 为token的有效期
// name: 这里是包含的用户信息,可以任意配置
var token = jwt.sign({exp: Math.floor(Date.now() / 1000) + 60*60*24,name: data.person,....
}, config.secret, function(err, token) {res.json({msg: {status: 1,msg: "登录成功"},data: {token: token,}})
});// 验证jwt
new Promise(function(resolve, reject) {jwt.verify(token, config.secret, function(err, decoded) {if (err) {res.json({ok: 0,msg: err})} else {// 如果验证成功的话这里做相应的后台数据处理}});
});复制代码

参考链接: jwt官网

网站登录JWT的实现相关推荐

  1. 前嗅ForeSpider教程:网站登录配置

    当我们在采集中碰到:所采集的网站数据需要登录,才可以看到所需信息时,则需要在软件中模拟登陆环境,采集数据,此时需要配置登录信息. 今天小编就教大家:如何进行网站登录配置,具体步骤如下: 登录网站配置: ...

  2. firefox如何不让网站登录失效_Firefox Preview 4开放下载:引入登录管理、热门网站等功能...

    Mozilla在GitHub上发布了Firefox Preview 4版本更新,引入了登录管理.热门网站以及初步扩展程序支持等新功能.使用登录管理功能后,用户不需要继续往返于Mozilla的Lockw ...

  3. Python 爬虫进阶必备——某体育网站登录令牌加密分析,赶紧收藏哦!

    某体育网站登录令牌加密分析 aHR0cHMlM0EvL3d3dy55YWJvMjU5LmNvbS9sb2dpbg== 这个网站需要分析的是登录时候的 sign令牌 抓包与加密定位 老规矩先用开发者工具 ...

  4. 网站登录入口| 网站收录入口| 网站登录大全

    网站登录入口 网站登录口 网站登录大全 Google搜索* http://www.google.com/intl/zh-CN/add_url.html Google登录与排名问题专题 Google网页 ...

  5. 大型网站登录信息保存实现-整理

    转载内容begin:--------------------------------------------------------------------------------- 地址:http: ...

  6. 各大搜索引擎网站登录入口

    百度网站登录入口 Google网站登录入口 Yahoo网站登录入口 Bing网站登录入口 Dmoz网站登录入口 Coodir网站目录登录入口 Alexa网站登录入口 搜狗网站收录提交入口 Soso网站 ...

  7. 使用Cookies登录网站--登录豆瓣网站

    使用Cookies登录网站–登录豆瓣网站 首先打开豆瓣的首页,输入用户名和密码并单击"登录豆瓣",显示的结果验证打开的是已经登录的个人主页,说明已经成功地使用Cookies登录豆瓣 ...

  8. 各大搜索引擎网站登录入口大全

    将你的网站到各大搜索引擎网站登录,可以让搜索引擎收录你的网站,从而让网民找到你的网站. 各大搜索引擎网站登录入口大全 以下是主要搜索引擎登录入口: 百度网站登录入口:http://www.baidu. ...

  9. php+html+css制作非常好看网站登录与注册界面

    php+html+css制作非常好看网站登录与注册界面 php版本:5.2.17 phpstudy版本:v8.0 首先看一下效果图: 登录界面: (输入密码也是一样的!) 注册页面: 以上就是效果图 ...

最新文章

  1. Windows客户端C/C++编程规范“建议”——结构
  2. Android逆向--如何调试smali代码?
  3. 5.3.1计算机网络传输层之TCP可靠传输
  4. 择天记手游的服务器维护世界,3月8日停服更新公告
  5. GridView详解
  6. ETH联合Meta和鲁汶大学 提出视频恢复算法VRT,在视频超分辨率、去模糊和去噪性能达到SOTA...
  7. Linux一个cpu有多少个vector,C++中vector容器大小增长规律浅析
  8. Postman:ResponseHeader存在多个Set-Cookie时,教你获取Cookie值
  9. python3的fft_FFT乘法Python 3.4.3
  10. cdlinux 无线网密码破解
  11. 修改k8s的集群域名后缀
  12. 【斯坦福大学公开课CS224W——图机器学习】一、图机器学习中的传统方法(1)
  13. echarts饼图自动动画_echarts饼图定时自动切换
  14. html 动态加载的菜单 当菜单点击一下,打开接着又关闭
  15. 我写了一个语音识别引擎
  16. 汇编8086复习——基础知识、指令汇总、上机实验踩坑
  17. html5源码笔记(三)【爱创课堂专业前端培训】
  18. 移动硬盘有文件但看不见怎么恢复文件
  19. 为什么在中国电子工程师不如搞软件的?
  20. 微信开网页mysql_PC浏览器模拟微信打开网页

热门文章

  1. 苹果cms V8 蓝色手机模板
  2. php 上传sb2,基于标准的http来实现Android多文件上传
  3. vue、bus 使用遇到的坑,组件之间无法传值;vue、bus 第一次获取不到值,后面再点击重复执行
  4. 企业级Java开发树结构数据封装(开发必用)
  5. 在 phpMyAdmin 里添加新用户帐号
  6. 中文 CentOS 攻略
  7. 发生一个未处理的异常 脚本调试 错误号2912
  8. 通过IHttpHandlerFactory,过滤TextBox、Input和Textarea中的特殊字符
  9. Magento获取产品自定义属性及对应的值
  10. Linux运维:cobbler