没有弹出对话框的Coinbase Oauth2授权

问题描述 投票:0回答:1

我正在使用Spring 5和Java 8,并创建一个RESTful客户端,该客户端将登录CoinBase并在给定时间为我进行交易。我知道那里有一个不受支持的Coinbase Java SDK,并且我也在寻找该代码的线索。

我正在Spring应用程序中使用CoinBase Oauth2客户端,到目前为止,它已经非常成功。我使用回调URL进行授权呼叫。这将打开一个对话框,如果我已登录,请我使用MyApp授权My Coinbase Acct,然后会收到一封电子邮件,指示已完成此操作。如果我还没有登录Coinbase,那么我会被要求输入我的Coinbase用户名/密码,然后被授权,我再次收到一封电子邮件,认为可以。

我看到的下一步是,使用重定向后的代码调用重定向URL。众所周知,该代码允许我请求访问令牌。我可以这样做,是的,我获得了访问令牌。我现在可以使用该访问令牌调用Coinbase API。但是,此访问令牌仅适用于7200(秒?),所以持续两个小时?我希望能够获得访问令牌并自动为我登录到coinbase。我不想每次进行交易时都需要重新授权...还是必须这样做?

在我看来,从授权返回的“代码”寿命很短,我可以立即使用它来获取该访问令牌。

所以,对我来说,最大的问题是...对于Coinbase API,我如何才能无限期地授权自己?我希望已经获得授权,然后定期获取访问令牌,以便自己进行交易????使用coinbase API甚至有可能吗?我必须使用Coinbase Pro来实现这一功能吗? Coinbase Pro甚至有可能吗?

我是Coinbase的新手,因为它是我了解的细微差别的另一个第三方API。在编写Java代码以访问第三方RESTful API时,我不是新手。因此,任何帮助将不胜感激。谢谢!

spring rest java-8 bitcoin coinbase-api
1个回答
0
投票

我想您在应用程序中缺少“刷新令牌”。What is the purpose of a "Refresh Token"?

很难说没有代码片段如何实现它,但是这里的一些步骤应该有所帮助:

  1. 看看关于他们提供的刷新令牌的coinbase文章https://developers.coinbase.com/docs/wallet/coinbase-connect/access-and-refresh-tokens

  2. 授权后获取并保存refresh_token和令牌

  3. 创建将使用您的刷新令牌来获取新对的函数(令牌,refresh_token)。您可以在步骤(1)中找到curl的示例]

  4. a。使ExceptionHandler在获得401时将调用(3)(我猜是401-如果令牌已过期)

    b。保存第2步中的“ expires_in”,并在每次请求前进行检查。如有需要,请致电(3)

© www.soinside.com 2019 - 2024. All rights reserved.