zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    as3 绕中心点旋转
    TweenMax
    As3支持的Html标签一览
    AS3.0 静音和停止所有声音
    as3 如何判断同时按下两个键
    前置窗体
    系统音效控制
    LocalConnection
    as3代码实现调用摄像头
    air 加载网页
  • 原文地址:https://www.cnblogs.com/finalanddistance/p/9673181.html
Copyright © 2011-2022 走看看