电脑技巧.图片新闻 | 用户注册 | 用户中心 | 发表文章 | 留言簿 | 扫一扫手机阅读
  |繁体中文|  RSS订阅 |极速版  |手机访问  
电脑常用技巧,PC Skill,电脑知识,组装维修,经验,资料精华宝库,HUGESKY CMS官网,鸿天全站,HUGESKY-token的意思是“令牌”
本站申明:
本站尽量纯净无广告,提供交流学习类共享资料。[广告投放说明] [联系]
  • 首 页
  • 电脑知识
  • 应用技巧
  • 组装技巧
  • 维修技巧
  • 网络技巧
  • 组网通信
  • 办公技巧
  • 技巧视频
  • 编程技巧
  • 防毒技巧
  • 博客圈
会员注册关闭
帐号: 密码: 验证码: 点击显示验证码 记住
电脑技巧 -> 电脑知识 -> 专业知识

token的意思是“令牌”

作者:未知来源:网络收集 整理日期:2019-12-15
推荐指数: 点击:522   文字大小: 加入收藏夹


什么是token?


token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。
当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。
简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定长度的十六进制字符串。为防止token泄露)。


身份认证概述:


由于HTTP是一种没有状态的协议,它并不知道是谁访问了我们的应用。这里把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过下次这个客户端再发送请求时候,还得再验证一下。


通用的解决方法就是,当用户请求登录的时候,如果没有问题,在服务端生成一条记录,在这个记录里可以说明登录的用户是谁,然后把这条记录的id发送给客户端,客户端收到以后把这个id存储在cookie里,下次该用户再次向服务端发送请求的时候,可以带上这个cookie,这样服务端会验证一下cookie里的信息,看能不能在服务端这里找到对应的记录,如果可以,说明用户已经通过了身份验证,就把用户请求的数据返回给客户端。
 

以上所描述的过程就是利用session,那个id值就是sessionid。我们需要在服务端存储为用户生成的session,这些session会存储在内存,磁盘,或者数据库。


基于token机制的身份认证:


使用token机制的身份验证方法,在服务器端不需要存储用户的登录记录。大概的流程:
客户端使用用户名和密码请求登录。服务端收到请求,验证用户名和密码。验证成功后,服务端会生成一个token,然后把这个token发送给客户端。客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。客户端每次向服务端发送请求的时候都需要带上服务端发给的token。服务端收到请求,然后去验证客户端请求里面带着token,如果验证成功,就向客户端返回请求的数据。


利用token机制进行登录认证,可以有以下方式:


a.用设备mac地址作为token
客户端:客户端在登录时获取设备的mac地址,将其作为参数传递到服务端
服务端:服务端接收到该参数后,便用一个变量来接收,同时将其作为token保存在数据库,并将该token设置到session中。客户端每次请求的时候都要统一拦截,将客户端传递的token和服务器端session中的token进行对比,相同则登录成功,不同则拒绝。
此方式客户端和服务端统一了唯一的标识,并且保证每一个设备拥有唯一的标识。缺点是服务器端需要保存mac地址;优点是客户端无需重新登录,只要登录一次以后一直可以使用,对于超时的问题由服务端进行处理。


b.用sessionid作为token
客户端:客户端携带用户名和密码登录
服务端:接收到用户名和密码后进行校验,正确就将本地获取的sessionid作为token返回给客户端,客户端以后只需带上请求的数据即可。
此方式的优点是方便,不用存储数据,缺点就是当session过期时,客户端必须重新登录才能请求数据。
当然,对于一些保密性较高的应用,可以采取两种方式结合的方式,将设备mac地址与用户名密码同时作为token进行认证。
APP利用token机制进行身份认证
用户在登录APP时,APP端会发送加密的用户名和密码到服务器,服务器验证用户名和密码,如果验证成功,就会生成相应位数的字符产作为token存储到服务器中,并且将该token返回给APP端。


以后APP再次请求时,凡是需要验证的地方都要带上该token,然后服务器端验证token,成功返回所需要的结果,失败返回错误信息,让用户重新登录。其中,服务器上会给token设置一个有效期,每次APP请求的时候都验证token和有效期。


token的存储:
token可以存到数据库中,但是有可能查询token的时间会过长导致token丢失(其实token丢失了再重新认证一个就好,但是别丢太频繁,别让用户没事儿就去认证)。
为了避免查询时间过长,可以将token放到内存中。这样查询速度绝对就不是问题了,也不用太担心占据内存,就算token是一个32位的字符串,应用的用户量在百万级或者千万级,也是占不了多少内存的。
 

token的加密:


token是很容易泄露的,如果不进行加密处理,很容易被恶意拷贝并用来登录。加密的方式一般有:
在存储的时候把token进行对称加密存储,用到的时候再解密。文章最开始提到的签名sign:将请求URL、时间戳、token三者合并,通过算法进行加密处理。
最好是两种方式结合使用。


还有一点,在网络层面上token使用明文传输的话是非常危险的,所以一定要使用HTTPS协议。
 

获得更多 -> 电脑知识 -> 专业知识
技术支持

责任编辑: webmaster >>> 百度上搜索  谷歌上搜索

hugesky
点击复制本连接 (http://www.hugesky.com/showarticle.php?id=6995)

发送到邮件  转换为打印版本  投 发表文章  报 侵权报告  关 关闭窗口
 破解iPhone 6s的NFC功能与NFC标签通信
 token的作用及实现原理

>>> 相关资讯:

  • . 防治Access宏病毒
  • . 电脑的工作原理简述
  • . Wi-Fi6(802.11.ax)即第六代无线网络
  • . 伪人工智能AI识别技巧
  • . 锂电池充电的原理
  • . Coreldraw中如何将位图转矢量图
  • . 详解3dmax中层(layer)的概念(续)
  • . 如何选择光纤收发器
  • . 手机信号强度单位:dBm和asu
  • . AndroidO(8.0)和AndroidP(9.0)
【声明】:
以上文章或资料除注明为电脑技巧原创或编辑整理外,均为网络收集整理或网友推荐。以上内容以共享、参考、研究为目的,不存在任何商业目的。
未注明作者或出处的文章,可能资料来源不规范。如有涉及版权请给予及时联系更正或予以删除。
评论:(开放)

  网友评论: 评  
以下网友评论只代表网友个人观点,不代表本站观点
  发表评论:(匿名用户不能发表评论! 注册 登陆)
昵称: 验证码:
评分:
5 4 3 2 1
内容:
  请文明参与讨论,禁止漫骂攻击。
 
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任.
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据.
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为.
内容搜索
    • 站内搜索
热门资讯
  • 电脑快捷键全都在这了!电脑技巧...
  • 图说最常用的10个电脑技巧
  • 别说你不会?这9个电脑技巧你必须...
  • Win7解决C盘占用空间大的方法
  • 网银密码设置小技巧
  • win7安装AHCI驱动
  • 平板电脑选购六大要点
  • [推荐]五步搞定电脑网络安全 五步...
  • 系统自带的最不起眼但又是最强的...
  • 上班族必懂的电脑技能技巧
推荐信息
开启模板:NEWSKY -关于版权 - 隐私保护 - 联系我们 - 网站地图 - 会员列表 - 加入收藏 - 返回顶部

我问佛:如何才能如你般睿智? 佛曰:佛是过来人,人是未来佛。
部分资源收集于互联网并遵循 署名-非商业性使用-相同方式共享3.0共享,尽量署名原创。
据《信息网络传播权保护条例》 如侵犯您的权利,请联系webmaster(at)hugesky.com删除。
Power By HugeSky.Com

Copyright© www.hugesky.com
Powered by HUGESKY CMS 7.1.1.1080918 professional licensed