Ben 在这里,我是 ruby-box Gem 的开发者之一。以下是您可以执行的操作:
- 在 app.box.com 设置您的应用程序以使用此回调
https://localhost/oauth2callback
- 在 IRB 中,使用相同的回调生成一个授权 url:
会话 = RubyBox::Session.new({
client_id: $boxClientID,
client_secret: $boxClientSecret
})
authorize_url = session.authorize_url('https://localhost/oauth2callback')
- 将此 URL 粘贴到网络浏览器中。
- 使用 Box 进行身份验证后,您最终会进入一个回调页面,其 URL 如下所示:
https://localhost/oauth2callback?state=&code=OQpfImZH35Ab9weUy61kthIvqZ2Dyz6
token = session.get_access_token('OQpfImZH35Ab9weUy61kthIvqZ2Dyz6')
access_token = token.token
refresh_token = token.refresh_token
- 将访问令牌和刷新令牌存储在数据库中(或餐巾纸上,或任何您认为合适的地方)。
- 从现在开始,您可以像这样实例化会话:
session = RubyBox::Session.new({
access_token: $storedAccessTokenValue,
refresh_token: $storedRefreshTokenValue,
client_id: $boxClientID,
client_secret: $boxClientSecret
})
client = RubyBox::Client.new(session)
您只需为用户获取一次 access_token 和 refresh_token。