首页 文章

Google授权代码流 - 获取访问令牌返回“unauthorized_client”

提问于
浏览
0

我无法更换Google授权码以进行访问和刷新令牌 .

使用nodejs googleapis客户端库,我可以生成Auth URL并通过调用URL成功获取身份验证代码 . 当我尝试在我的服务器上交换此身份验证代码时,问题就出现了 .

我正在使用以下参数对'https://www.googleapis.com/oauth2/v3/token'进行POST调用:

tokenData = {
    code: [code from client],
    client_id: [client ID used to get the auth code client-side],
    client_secret: [client secret associated with the ClientID],
    grant_type: 'authorization_code',
    redirect_uri: 'postmessage'
};

拨打电话后,我只收到消息:

{error=unauthorized_client, error_description=Unauthorized}

我已经三次检查客户端使用的ClientID来获取auth代码与服务器上的代码匹配,并且客户端的url已添加到Google控制台上的授权javascript源 .

我已经做了大量的谷歌搜索试图找到一个解决方案,但似乎很少有文件说明什么是“unauthorized_client”错误 . 任何帮助深表感谢 .

1 回答

  • 1

    经过大量研究,我能够找到解决问题的方法 .

    this document中所述,特别是D部分:

    客户端通过包含在上一步骤中收到的授权代码,从授权服务器的令牌 endpoints 请求访问令牌 . 发出请求时,客户端使用授权服务器进行身份验证 . 客户端包括用于获取验证授权码的重定向URI .

    在调用中提供的redirect_uri获取auth代码 must 匹配发送到交换的redirect_uri . 希望这有助于某人 .

相关问题