【问题标题】:Coinbase Api invalid_tokenCoinbase Api invalid_token
【发布时间】:2018-08-11 08:27:19
【问题描述】:

我正在用 c# 开发一个访问 CoinBase Api 的应用程序。用户输入他们的凭据后,我从回调中的 api 获得一个代码。我将代码交换为 access_token。我确实得到了一个带有 access_token、token_type、refresh_token、expires_in、范围的令牌。一切都是从 CoinBase 填充的。

问题是当我将该 access_token 复制到 Postman 时,我得到了 invalid_token。以下是我拨打电话的方式:

API 网址:

https://api.coinbase.com/v2/user

使用这些标题:

Content-Type:application/json 
Authorization:bearer <access_token here> 
CB-VERSION:2018-02-09

另一个有趣的事情是,如果我将我的 access_token 粘贴到 jwt.io 中,它就无法读取它。它显示了带有许多奇怪的 ascii 字符的标题,例如:mÖß§Ü

任何线索为什么会发生这种情况?我在其他 Api 上使用 Postman 中的确切调用,它们工作正常....

感谢您的洞察力, 杰夫

【问题讨论】:

    标签: oauth-2.0 coinbase-api


    【解决方案1】:

    在花了整整一夜之后,我终于想通了,想分享一下。我在 Postman 中完全交换代码和 access_token,我得到了同样的错误,invalid_token!

    只是为了好玩,我选择了 Postman 中的“授权”选项卡,并从下拉列表中选择了不记名令牌。我粘贴了我的 access_token 并单击了预览按钮。它说我的不记名令牌已被应用。我点击了发送按钮和中提琴!它确实有效!经过几分钟的调查,我意识到它第二次放入了不记名令牌身份验证标头......嗯,我删除了它,它又失败了。起初我以为 Coinbase 坏了,需要它在那里两次???呐,不可能。所以,我删除了我的 auth 标题行,并留下了曾经放入的 Postman(有效地改变了标题的顺序)。做到了!

    修复:将我的标题更改为:

    Content-Type:application/json
    CB-VERSION:2018-02-09
    Authorization:Bearer <access_token here>
    

    【讨论】:

      猜你喜欢
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-06
      • 2023-03-14
      相关资源
      最近更新 更多