登录态,票据和token是个什么玩意儿? 我们慢慢来说。

以微博为例, 当用户在微博app中输入账号和密码登录后, 微博后台会进行验证, 看看账号和密码是否匹配, 如果匹配, 就登录成功。 用户后续在微博中发帖的时候, 就不需要再输入密码了, 只需要输入内容即可。 这里有个问题, 如果是坏人用别人的账号伪造发帖请求呢? 岂不是代替比人发帖了? 荒唐得很啊。

微博后台不能让用户每次发帖都携带密码啊, 怎么办呢? 实际上, 用户登录成功后, 后台会生成一个特定的信息(可以理解为一个字符串), 这个字符串就是一个令牌, 是一种身份和状态的标志。用户发帖的时候, 客户端不需要携带密码, 而是携带这个令牌就行了, 微博后台验证这个令牌信息, 从而来确定发帖请求是否是用户自己真正的请求, 万事大吉。

可见, 令牌是一种身份, 是一种登录成功的状态, 这个令牌其实就是token,  在很多场合, 也可以叫票据。所以, 你可以认为, 票据==token.

那登录态又是什么意思呢? 登录态有两个含义:

1.  指登录的状态。 比如大家经常会看到提示登录态已经失效, 登录态应过期, 意思就是说, 现在是退出的状态, 而非登录的状态。

2.  指票据, 或者说是token.  微博后台的同学可能会说: app传过来的登录态过期了啊。 所以, 这里的登录态是指登录态信息, 说白了, 就是指票据, 也就是token.

对了, 当微博用户登录成功后, 进行发帖时, 出了需要携带登录态票据 /token外、发帖内容外, 还需要携带登录账号吗?  其实可带可不带, 带了也没用, 后台是不能信任这个账号的, 因为谁都可以伪造。 那后台怎么知道是哪个账号发的呢? 很简单, 在进行登录态票据/token校验的时候, 能从登录态票据/token中解出用户账号。 所以, 通常的方式是, app端携带账号、登录态票据/token以及帖子信息, 后台只能相信于从登录态票据/token校验中获取的账号, 而不能直接相信app给的账号。

思考一下, 为什么能从登录态票据/token中解出账号信息呢? 很显然, 在微博后台肯定有绑定关系啊!

最后, 我们来看下, 对于小程序而言, 开发者有可以申请到appID和appKey,  顺便可以获取用户的openID和后台授权的token,  其实, 根据token, 也是能获取到openID的, 这与上面微博的案例,何其相似。

登录态,票据和token是个什么玩意儿?相关推荐

  1. 海绵宝宝也懂的登录态:Cookie、Session和Token

    简介 大家都知道,HTTP是一个无状态的协议,那么Web应用要怎么保持用户的登录态呢? 如果你对cookie,session和token的优缺点不太明白,或者你想知道在实际中到底怎么实现登录态,那么本 ...

  2. 微信小程序中用户登录和登录态维护

    微信小程序和以前的web项目不同,他是前后端分离的应用,之前我们的传统登录有web服务器提供Session维护, 后端在返回结果给前端web项目时,带上cookie,且以cookie值为key存储用户 ...

  3. Uni-app登录态管理(vuex)

    转载:https://www.cnblogs.com/edward-life/p/11181139.html 应用中,保持登录状态是常见需求,本文讲解使用uni-app框架时如何保持用户登录状态. 即 ...

  4. Django实现小程序的登录验证功能,并维护登录态

    说明 这次自己做了一个小程序来玩,在登录方面一直有些模糊,网上看了很多文档后,得出以下一种解决方案. 环境说明: 1.小程序只需要拿到openid,其他信息不存储. 2.Django自带的User类不 ...

  5. Ajax跨域post请求后端无法获取登录态原因及解决办法

    遇到个小坑,印象中不是第一次遇到了,记录一下:前后端分离时前端.后端不在同一个子域,跨域post请求后端无法获取登录态. 原因 后端通过cookie验证用户是否登录,跨域post不会自动携带上cook ...

  6. webform窗体怎么实现session唯一标识_微信小程序用户登录和登录态维护的实现_javascript技巧...

    这篇文章主要介绍了微信小程序用户登录和登录态维护的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 让用户登录,标识用户和获取 ...

  7. 使用token验证登录信息,把token存到数据库中

    使用token验证登录信息,把生成的token存到数据库中,根据用户id判断是否重复登录,重复登录就重置到期时间 调用登录接口返回出token和uuid信息 每次访问都需要在Headers里面添加该数 ...

  8. [apifox学习笔记]在所有接口中添加登录后获取的token(有图示)

    如何在所有的接口添加token 写在前面 在登录接口调通的基础上 在登录接口添加后置操作提取token作为环境变量 在项目概览中选择Auth和Bearer Token类型并赋值环境变量token 我们 ...

  9. 微信小程序之登录态的探索

    上一篇:开发微信小程序必须要知道的事 登录,几乎什么项目都会用到,其重要性不言而喻,而小程序的登录却一直是为人头疼的一件事,这里我分享下我们在小程序登录上的探索 通常的登录都是通过一个表单,这很正常, ...

最新文章

  1. SAP RETAIL初阶MM41创建商品主数据BASIC DATA里的Valuation Class
  2. 图解梯度下降背后的数学原理
  3. C语言初学者简单语法综合练习
  4. Nginx 之五: Nginx服务器的负载均衡、缓存与动静分离功能
  5. B端产品思维全解析,提升产品经理核心竞争力
  6. python转化成excel_python转换excel成py文件
  7. 关于程序设计语言(贴吧里很有意思的一个帖子)
  8. Orleans学习总结(一)--入门认识
  9. Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解
  10. ORACLE中用户解锁与改密(以hr用户为例)
  11. spring使用之旅(一) ---- bean的装配
  12. 最小化安装CentOS-7-x86_64-Minimal-1511图文教程
  13. SVN汉化包安装方法
  14. Python爬取小猪短租全网数据
  15. 这些屏幕特效是咋实现的
  16. 基于VaR模型与CAPM模型的个股日收益率分析报告——以宁德时代(300750)为例
  17. 对话 DenseNet 一作黄高:做有韧劲、能抗压、不断探索未知的科研
  18. flask 图文混排
  19. 关于音效合成APP鸡乐盒4.0
  20. 机器人彩铅画_儿童画教程:教你画机器人

热门文章

  1. srs流媒体服务器性能,srs流媒体服务器 配置
  2. java边框颜色_边框颜色顺序
  3. C#整数(包括正数和负数)与十六进制byte[]的互相转换(两字节)
  4. 微软2016校园招聘在线笔试 B Professor Q's Software [ 拓扑图dp ]
  5. python程序移植到linux_如何将Python自编软件装到Linux系统
  6. 命令注入_深入分析SaltStack Salt命令注入漏洞
  7. vegas界面对比!
  8. 26、威胁软件、文件、网址在线检测平台
  9. java建造者模式静态内部类,静态内部类的使用方式
  10. [RK3588 Android12]系统桌面添加时钟日期部件