1

我正在开发一个 Java 独立应用程序,它使用 Java box sdk 访问我的 box 帐户以访问存储在那里的文件。

我正在使用OAuth2盒子帐户进行身份验证。目前的步骤是:

  1. 我使用developers/services.

  2. 我在浏览器中使用 https://api.box.com/oauth2/authorize?response_type=code&client_id=[client id]&state=authenticated 来授权访问我的 Box 帐户。这是我必须干预以授权我的帐户的手动步骤。

  3. 一旦我授权它会将我重定向到在 url 中嵌入了 auth_code 的下一页

  4. 我从 url 中检索 auth_code(boxAuthCode) 并粘贴到应用程序中,例如   

    BoxAPIConnection box_connection = new BoxAPIConnection(boxId, boxSecret, *boxAuthCode*);
    

应用程序在 30 秒内执行(AuthCode 在 30 秒内到期)以生成 refresh_token。刷新令牌被持久化,并在后续请求中用于设置与盒子帐户的连接。

 

 

box_connection  = new BoxAPIConnection(boxId, boxSecret, tokens.get("Auth_Token"),  tokens.get("Refresh_Token"));

 

虽然步骤 2、3、4 是盒子帐户的一次活动,但我必须手动干预以生成 auth_code,然后在 30 秒内执行应用程序以获取刷新令牌。想频繁更换box账号就很麻烦了。

是否有一种灵活且程序化的方式来处理这个问题。我不想手动干预,所以如果我想访问另一个盒子帐户,我可以在应用程序中更改boxIdboxSecret为盒子帐户和应用程序配置重定向 uri 应该是能够处理步骤 2,3 和 4。任何帮助或建议将不胜感激。

4

0 回答 0