收藏
回答

Access token和Stable Access token数据不一致?

调用原始token接口刷新token后获得token a,过一分钟后再调用getStableAccessToken接口(force refresh = false),预期获得token a,过期时间为7200s-60s,实际获得token b,过期时间为7200s

回答关注问题邀请回答
收藏

3 个回答

  • 张三疯
    张三疯
    2023-03-21

    这两个access_token是独立的,不会相互影响。目的是方便开发者做测试、切换时,保持线上业务的稳定。

    简单理解:getAccessToken,每次调用都会生成新的access_token;getStableAccessToken,在force_refresh=false模式下,会尽量返回相同的access_token。


    2023-03-21
    有用
    回复 2
    • 花汐
      花汐
      2023-04-27
      那说到底正式的平台上到底该用哪个,,我这里莫名其妙经常要么code失败,要么token失效,都是做过处理的,,授权登录还会莫名其妙给我回调好几次,导致我code也失效。。。
      2023-04-27
      回复
    • 向阳
      向阳
      02-04
      getStableAccessToken这个接口,前1小时55分,返回的都是旧的token,最后五分钟返回新的token,并且新旧都可以使用;那么getStableAccessToken和getAccessToken获取的token虽然不同,但是应该都是属于有效的吧?
      02-04
      回复
  • ka3hun9
    ka3hun9
    2023-11-07

    文档写得太坑人, access_token和stable_access_token,force_refresh=false, 两种情况最重要的一个区别是:

    1. access_token 发出请求后, 不管上一个token是否过期, 都会更新token. 失效倒计时我们可以控制.
    2. stable_access_token,force_refresh=false 发出请求后, 如果上一个token未失效会返回上一个token, 失效倒计时我们不能控制.


    使用 stable_access_token,force_refresh=false 时会有失效时长陷阱, 如果我们正好在 stable_access_token 失效前1小时重启服务, 此时请求得到的是1小时后就会失效的token, 而通常我们在服务器上设置为1小时55分钟运行更新一次, 这样就会进入陷阱. 至少有55分钟是没有token可用的.

    2023-11-07
    有用
    回复 1
    • 张三疯
      张三疯
      03-28
      “使用 stable_access_token,force_refresh=false 时会有失效时长陷阱”。回包中有expires_in字段,即获取到的access_token的剩余有效秒数。不要默认为2小时。
      03-28
      回复
  • Zzz
    Zzz
    2023-03-16

    这两个token都是有效的吗

    2023-03-16
    有用
    回复 2
    • T
      T
      2023-03-16
      同问
      2023-03-16
      回复
    • 龙马精神
      龙马精神
      2023-03-29回复T
      按文档描述,获取到新 token 时,原 token 会在 5 分钟后过期
      2023-03-29
      回复
登录 后发表内容
问题标签