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
转载于:https://www.cnblogs.com/finalanddistance/p/9673181.html
- 点赞
- 收藏
- 分享
- 文章举报
- 微信&java 开发6 全局缓存access_token与jsapi_ticket
- 敦煌api 获取access_token和用户信息
- 关于Facebook API 获取Page主页的永久access_token的方法总结
- python wechat_sdk间接性的出现错误OfficialAPIError: 40001,说access_token已过期或者不是最新的。
- 关于websphere 上如何使用 ssl 向 qyapi.weixin.com 发送 获得access_token 的请求
- Facebook-在使用图谱API访问App数据提示“This method must be called with an app access_token.”
- 新浪微博Oauth2.0授权 获取Access Token以及API的使用
- 微信jsSDK本地调试流程攻略(nodeJs实现获取access_token等信息)
- 微信小程序如何访问带有Token安全认证的API
- 防止Access_token过期的方法
- App开放接口api安全性—Token签名sign的设计与实现
- 微信开发中网页授权access_token与基础支持的access_token异同
- 微信公众平台开发之微信access_token如何有效长期保存
- 使用Facebook登录过后,在退出登录的时候清除access_token
- 百度PCS快速获取access_token的方法
- 微信access_token、jsapi_ticket中控服务器
- SetWindowHookEx API with WH_JOURNALRECORD. This API fails with access denied (Error 5).
- 微信开发使用access_token 获取微信的ip地址
- App开放接口api安全性—Token签名sign的设计与实现
- python sina api token