我正在开发一个Java独立应用程序,该应用程序使用Java box sdk访问我的盒子帐户以访问存储在那里的文件。
我正在使用OAuth2
对Box帐户进行身份验证。目前的步骤是:
我使用developers/services
配置重定向URI。
我用 https://api.box.com/oauth2/authorize?response_type=code&client_id=[client id]& state = authenticated 在浏览器中授权访问我的Box帐户。这是一个手动步骤,我进行干预以授权我的帐户。
一旦我授权,它会将我重定向到下一页,其中auth_code嵌入了网址
我从网址中检索auth_code(boxAuthCode)并粘贴到应用程序中
BoxAPIConnection box_connection = new BoxAPIConnection(boxId, boxSecret, *boxAuthCode*);
应用程序在30秒内执行(AuthCode在30秒内到期)以生成refresh_token。刷新令牌是持久的,并在后续请求中用于设置与Box帐户的连接。
box_connection = new BoxAPIConnection(boxId, boxSecret, tokens.get("Auth_Token"), tokens.get("Refresh_Token"));
虽然步骤2,3,4是一个盒子帐户的一次性活动,但是我必须手动干预以生成auth_code,然后在30秒内执行应用程序以获得刷新令牌。如果我想经常更改票箱帐户,这真的很麻烦。
是否有灵活且可编程的方式来处理此问题。我不想手动干预,因此如果我想访问其他方框帐户,我就可以更改boxId
和boxSecret
应用程序和配置重定向uri的框帐户和应用程序应该能够处理步骤2,3和4。
任何帮助或建议将不胜感激。