我正在开发一个 Java 独立应用程序,它使用 Java box sdk 访问我的 box 帐户以访问存储在那里的文件。
我正在使用OAuth2
盒子帐户进行身份验证。目前的步骤是:
我使用
developers/services
.我在浏览器中使用 https://api.box.com/oauth2/authorize?response_type=code&client_id=[client id]&state=authenticated 来授权访问我的 Box 帐户。这是我必须干预以授权我的帐户的手动步骤。
一旦我授权它会将我重定向到在 url 中嵌入了 auth_code 的下一页
我从 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账号就很麻烦了。
是否有一种灵活且程序化的方式来处理这个问题。我不想手动干预,所以如果我想访问另一个盒子帐户,我可以在应用程序中更改boxId
并boxSecret
为盒子帐户和应用程序配置重定向 uri 应该是能够处理步骤 2,3 和 4。任何帮助或建议将不胜感激。