API:access_token
access_token存在意义:
1、身份验证(一个channel_id一般有0个或1个有效的access_token)
2、限制用户访问服务器数据的有效期
3、限制用户访问权限
access_token执行流程:

总结access_token几个要点:
1、token是在使用方请求服务器后,服务器再生成token并进行返回
2、请求放将返回的token记录下来,请求数据后,头请求中将附带token信息,服务器进行接收token是否正确并且在有效时间内
问:为什么我们在写接口的时候,还要用access_token进行身份验证?
因为用appid+app密钥就可以进行身份校验的(appid+app密钥:类似我们QQ登录的用户名+密码)
答:
1. 额外安全性(保密性):access_token 即使泄露了,攻击者也不会知道帐号拥有者的密码。
2. 额外安全性(权限范围性):access_token可以限制於某几个接口的使用权限,而不是帐号的全部权限,如果泄露了,也不会让攻击者得到夺取整个帐号的权限。
3. 额外安全性(时间性):access_token只会在10-20分钟内有效,所以即使泄露了,攻击者操作的时间空间也只有10-20分钟。
4. 额外安全性(客户端安全管理):在客户端需要用户手动输入密码的时候, access_token 能让客户端不用把密码保存下来(几乎没有完全安全的保存方法),而只需要保存access_token ,减低泄密风险。
5. 性能:服务器重视数据安全时,或者在验证过程中会对密码运行很多次的Hashing,才对数据库进行比对(这是为了防止数据库泄露后,密码被暴力破解的防御环节之一),因此每一次验证密码也对服务器的性能消耗比较大。access_token可以让服务器在它失效时才验证一次,大幅减少性能开销。
6. 更容易管理:服务端可以随时终止一个access_token、生成新的access_token,而不影响app密钥。
7. 更灵活:可以容许一个帐号有不同的access_token、在不同环境操作(例如:测试环境、生产环境 同一帐号有不同的access_token)
8. 抽象化:access_token代表着"已经成功验证,并获得某些权限",所以业务操作可以只判断access_token,而不用理会验证方式是怎样(例如:用QQ登入,还是用指纹)
以上
END
API:access_token的更多相关文章
- 玩玩微信公众号Java版之三:access_token及存储access_token
微信官方参考文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183 基本说明: access_token是 ...
- TFS API:三、TFS WorkItem添加和修改、保存
TFS API:三.TFS WorkItem添加和修改.保存 WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1 ...
- TFS API:二、TFS 代码查询工作项
TFS API:二.TFS 代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection, ...
- TFS API:一、TFS 体系结构和概念
TFS API:一.TFS 体系结构和概念 TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台, ...
- 微信客户端自带的Js Api:WeixinJSBridge
<!DOCTYPE html> <html> <head> <title>微信WeixinJSBridge API</title> < ...
- 利用未文档化API:RtlAdjustPrivilege 提权实现自动关机
这里主要是利用NTDLL.dll中未文档化的API: RtlAdjustPrivilege 来实现提权.自动关机的功能. RtlAdjustPrivilege定义如下: NTSTATUS RtlAdj ...
- 利用未文档化API:RtlGetNtVersionNumbers 获取系统版本号
问题一:Windows SDK 8.1版本中的VersionHelper.h文件当中没有IsWindows10ORGreater,所以当你用IsWindows8Point1ORGreater判断出版本 ...
- 调皮的QQ音乐API:修复无法获取歌单
上一篇完整版:http://www.cnblogs.com/TwilightLemon/p/7076938.html QQ音乐的API真是太调皮了,获取歌单的API又更换了好多次,喵喵喵 旧版API( ...
- 没有任何秘密的 API:Vulkan* 简介
Vulkan 被视作是 OpenGL 的后续产品. 它是一种多平台 API,可支持开发人员准备游戏.CAD 工具.性能基准测试等高性能图形应用. 它可在不同的操作系统(比如 Windows*.Linu ...
随机推荐
- 通过.net core源码看下Dictionary的实现
https://blog.csdn.net/narlon/article/details/80755386 .net core的代码位置 https://github.com/dotnet/c ...
- 2.2 Rust 数据类型
2.2 数据类型 let guess: u32 = "42".parse().expect("Not a number!"); Rust has four pr ...
- java——删除HashMap中所有的键值对
第一种:❌(报错) import java.util.HashMap; import java.util.Set; public class T{ public static void main(St ...
- Linux 添加用户(user),组(Group)以及权限(Permission)
1. 添加用户 sudo adduser UserName 异常: sudo adduser --force-badname <username> 之后为这个用户添加其他辅助信息 切换用户 ...
- WCF rest 的帮助页面和缓存机制
打开vs2010 在工具选项中选择扩展管理器——联机库 安装WCF REST Service Template 40(CS)模板 安装后新建wcf服务应用程序,删除默认建立的文件. 新建RestWcf ...
- Excel中,用CONCATENATE函数生成SQL语句
1.语法 CONCATENATE(text1, [text2], ...)CONCATENATE 函数语法具有下列参数(参数为:操作.事件.方法.属性.函数或过程提供信息的值.):Text1 必需.要 ...
- jQuery中的事件和动画 以及视频展示效果实例
经过这几天学习jQuery中的事件和动画,对jQuery更深的认识,接下来先把视频展示效果的代码贴出来,最后把我在学习jQuery事件和动画之后总结的思维导图 <!doctype html> ...
- Perf -- Linux下的系统性能调优工具,第 2 部分 特殊用法以及内核调优示例
https://www.ibm.com/developerworks/cn/linux/l-cn-perf2/ 本文内容简介 之前介绍了 perf 最常见的一些用法,关注于 Linux 系统上应用程序 ...
- (转) awk学习
awk学习 原文:http://blog.chinaunix.net/uid-23302288-id-3785105.html http://www.zsythink.net/archives/t ...
- vue脚手架 && 实例
什么是vue脚手架? 即可以快速构建vue项目的工具,通过它,我们可以将vue项目所需要的文件等安装完成. 为什么要是用vue脚手架,优点何在? 因为创建一个vue项目需要很多的依赖,文件的设置等,而 ...