App的token机制
这只是网上看来的后期可能还会修改。
理论版的描述如下:
(1) 服务器接收到app发送的用户名和密码后,验证用户名和密码是否正确。
如果错误则返回错误信息。
如果验证正确,生成一个随机的不重复的token字符串(例如"daf32da456hfdh"),在redis或memcache中维护一个映视
表,建立token字符串和用户信息的对应关系表,例如,把token字符串"daf32da456hfdh"和用户id"5"对应起来。
(2) 服务器把token字符串返回给app,app把这个token字符串保存起来,作为登录的验证。
(3) 当需要验证用户身份的操作时,必须要把token字符串传给服务器验证身份。
例如,api "test.com/user/update"是更新用户的信息,必须要验证用户的身份.当调用api
"test.com/user/update"时,把token字符串"daf32da456hfdh"放在url上,变成"test.com/user
/update?token=daf32da456hfdh" .
当服务器接收到这个api请求,知道要验证用户身份的,于是,就把参数中token的值"daf32da456hfdh"取出来,在(1)中建立的
token字符串和用户信息的对应关系表查找,如果发现没这个token值的,则返回验证失败的信息。如果发现有这个token值,则获取这个用户的信
息,进行相关的更新操作。
(4) 当用户退出登录时,需要通过调用api,让服务器把这个用户对于的token字符串删除.
例如,api "test.com/user/logout"是退出登录的api,也要验证用户身份,
则调用"test.com/user/logout?token=daf32da456hfdh"
。当服务器接到退出登录的api请求时,在(1)中建立的token字符串和用户信息的对应关系表查找token字符串,把token和用户信息都删除即
可。
注意:这个方案并不是十分安全,这个身份验证是依赖于token字符串。如果用户泄漏了自己的url, 那很大程度上token也被别人泄漏了,就相当于钥匙被人复制了一份。在下篇的通讯安全中,会描述一个防止token在通讯中泄漏的方案。
App的token机制的更多相关文章
- 【原创】分布式之数据库和缓存双写一致性方案解析(三) 前端面试送命题(二)-callback,promise,generator,async-await JS的进阶技巧 前端面试送命题(一)-JS三座大山 Nodejs的运行原理-科普篇 优化设计提高sql类数据库的性能 简单理解token机制
[原创]分布式之数据库和缓存双写一致性方案解析(三) 正文 博主本来觉得,<分布式之数据库和缓存双写一致性方案解析>,一文已经十分清晰.然而这一两天,有人在微信上私聊我,觉得应该要采用 ...
- 使用token机制来验证用户的安全性-b
登录的业务逻辑{ http:是短连接. 服务器如何判断当前用户是否登录? // 1. 如果是即时通信类:长连接. // 如何保证服务器跟客户端保持长连接状态? ...
- IOS 中使用token机制来验证用户的安全性
登录的业务逻辑{ http:是短连接. 服务器如何判断当前用户是否登录? // 1. 如果是即时通信类:长连接. // 如何保证服务器跟客户端保持长连接状态? // ...
- token机制完成登录状态保持/身份认证
一般APP都是刚安装后,第一次启动时需要登录(提示你需要登录或者直接启动在登录界面).而只要登录成功后,以后每次启动时都是登录状态,不需要每次启动时再次登录.不过,也有些APP若你长期未启动,再次启动 ...
- 前后端分离中的无痛刷新token机制
今天我们来说一说前后端分离中的无痛刷新token机制 博主先来分享一波福利,最近挖到的宝藏,刚开始学Java的同学看 https://www.bilibili.com/video/BV1Rx41187 ...
- Strut2 采用token机制防御CSRF同时也可以防止表单重复提交
一 未配置Struts2 token的情况下测试 1.从表单提交数据,可以从下图看出,快速点击保存按钮,请求提交了两次 2.检查post提交的数据中未含有token参数 3.查看数据列表,有重复数据 ...
- javaEE开发中使用session同步和token机制来防止并发重复提交
javaEE开发中使用session同步和token机制来防止并发重复提交 通常在普通的操作当中,我们不需要处理重复提交的,而且有很多方法来防止重复提交.比如在登陆过程中,通过使用redirect,可 ...
- Struts之Token机制
Struts的Token(令牌)机制能够很好的解决表单重复提交的问题,基本原理是:服务器端在处理到达的请求之前,会将请求中包含的令牌值与保存在当前用户会话中的令牌值进行比较,看是否匹配.在处理完该请求 ...
- 启xin宝app的token算法破解——token分析篇(三)
前两篇文章分析该APP的抓包.的逆向: 启xin宝app的token算法破解--抓包分析篇(一) 启xin宝app的token算法破解--逆向篇(二) 本篇就将对token静态分析,其实很简单就可以搞 ...
随机推荐
- automake---让Makefile变得更专业一点儿
一般我们装软件时,都要运行 ./configure --prefix=/usr/local make make install 看着不断刷新的屏幕,总感觉真得好高深呀,其实我们的程序也可以这样子. 下 ...
- kafka consumer频繁reblance
转载请注明地址http://www.cnblogs.com/dongxiao-yang/p/5417956.html 结论与下文相同,kafka不同topic的consumer如果用的groupid名 ...
- python实现应用程序在右键菜单中添加打开方式
最近项目组开发的一个小工具想要在右键菜单中添加打开方式,以有道云笔记为例进行了需求拆解和代码编写 1.需求拆解: 如何实现手动添加右键菜单的打开方式: Step1:打开注册表编辑器,Win+R-> ...
- 【转】java 文件 读取目录下的所有文件(包括子目录)
转自:http://www.cnblogs.com/pricks/archive/2009/11/11/1601044.html import java.io.File; import java.io ...
- 在命令行cmd 下,输入dxdiag 查看关于电脑许多硬件的详细信息
输入命令就可以查看本机的很多硬件的详细信息: 在命令行cmd 下,输入dxdiag 查看关于电脑许多硬件的详细信息
- 使用jq工具在Shell命令行处理JSON数据
由于近期要处理一些 JSON 数据格式.一大早经过一番搜索后,终于找到了 jq 这个非常棒的工具.jq 同意你直接在命令行下对 JSON 进行操作,包含分片.过滤.转换等等. 首先在mac下安装jq. ...
- Android 颜色渲染(九) PorterDuff及Xfermode详解
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 颜色渲染(九) PorterDuff及Xfermode详解 之前已经讲过了除ComposeShader之外Shader的全部子类 ...
- Myeclipse快捷键的设置
- 设计模式学习——准备(UML类图)
前言 其实吧,最早接触UML是源于软件设计师的考试,半路出家实在难为我了.学设计模式总是要画类图的,所以补充UML的类图的知识是很重要滴.第一篇就偷懒一点copy别人的东西了.实话说,我们都是踩在巨人 ...
- img标签块状与内联的博弈
新手,请前辈们不吝赐教 说到html中img标签是内联还是块状元素,我们首先要知道什么是内联(inline),什么又是块状(block)? 我也在网上查看了一些别人分享的经验,有一个讲到了文档流的概念 ...