V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
harchiko
V2EX  ›  Android

Android 微信第三方登录 获取不到 AccessToken, OAuth 2 出问题了?

  •  
  •   harchiko · Jan 21, 2017 · 15228 views
    This topic created in 3387 days ago, the information mentioned may be changed or developed.

    今天在搞微信第三方登录,登录之后获取 AccessToken ,根据微信的文档:文档地址

    请求完 code 之后代入, Get https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code 来获取到 AccessToken ,得到的返回是

    {"errcode":40029,"errmsg":"invalid code, hints: [ req_id: FCCDrA0148s112 ]"}
    

    之前这样请求时有正常返回内容的,而且我也多次检查了返回 code , APPID , AppSecret 的正确性,有没有小伙伴帮忙看下是哪里出了问题。

    我把我这边能想到的问题都检查过了,现在有点怀疑是微信那边的问题。

    Supplement 1  ·  Jan 21, 2017
    结果是我使用同一个 code 请求了两次。没记得 OAuth 2 有这样的规定啊。
    8 replies    2017-01-22 17:41:10 +08:00
    morewe
        1
    morewe  
       Jan 21, 2017   ❤️ 1
    是不是你不小心同一个 code 请求了 2 次?或者超过了 5 分钟?
    harchiko
        2
    harchiko  
    OP
       Jan 21, 2017
    @morewe 是的,我检查了下,同一个不能请求两次吗?
    morewe
        3
    morewe  
       Jan 21, 2017   ❤️ 1
    @harchiko 文档里写了啊,一个 code 只能用 1 次,你没仔细看么。。话说我重新看下文档,现在的有效期是 10 分钟了。
    morewe
        4
    morewe  
       Jan 21, 2017
    F.A.Q
    1. 什么是授权临时票据( code )?
    答:第三方通过 code 进行获取 access_token 的时候需要用到, code 的超时时间为 10 分钟,一个 code 只能成功换取一次 access_token 即失效。 code 的临时性和一次保障了微信授权登录的安全性。第三方可通过使用 https 和 state 参数,进一步加强自身授权登录的安全性。
    harchiko
        5
    harchiko  
    OP
       Jan 21, 2017
    @morewe 我脑子抽了,把这个 code 跟 AccessToken 搞混了。
    morewe
        6
    morewe  
       Jan 21, 2017   ❤️ 1
    @harchiko 没事,找到原因而且是正常原因就好,就怕遇到奇葩问题。
    zhuyao
        7
    zhuyao  
       Jan 22, 2017   ❤️ 1
    code 用一次失效
    xiaoyang7545
        8
    xiaoyang7545  
       Jan 22, 2017   ❤️ 1
    关于 code 不知道是不是 OAuth 2 的硬性要求,我用的 box dropbox googledrive onedrive 的授权都是一次无效
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2655 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 14:26 · PVG 22:26 · LAX 07:26 · JFK 10:26
    ♥ Do have faith in what you're doing.