Box API OAUTH协议是否可以在防火墙后工作?

时间:2014-01-27 10:33:28

标签: oauth firewall box-api

我正在研究从位于防火墙后面的内部应用程序集成Box API调用的可能性(它不会暴露给外部世界)。

所以问题是,如果我们使用回调URI发出对Box的身份验证请求,Box会直接回发到指定的回调URI(实际上它是从Box发起一个新请求到客户端),或者它将请求发送回发出请求的客户端(标准HTTP请求/响应),并期望客户端使用令牌重定向到回调URI?

这可能听起来很奇怪,但在调查过程中,这似乎是Twitter OAUTH协议的工作方式,如果有的话,这对我们很有帮助,因为我们不想向外界开放防火墙。 / p>

请参阅此处获取信息:https://dev.twitter.com/discussions/5801

编辑:刚发现这似乎暗示客户端将始终发起请求,而不是服务器:https://stackoverflow.com/a/6116736/811108

非常感谢提前。

1 个答案:

答案 0 :(得分:3)

OAuth on Box的典型用户旅程如下:

  1. 用户的浏览器请求www.someboxapp.com并且用户单击登录按钮
  2. 用户的浏览器请求以https://www.box.com/api/oauth2/authorize
  3. 开头的Box身份验证网址
  4. 用户在Box授权网页上进行身份验证,然后Box网站将 302重定向标题发送回用户浏览器。此标头告诉用户的浏览器请求www.someboxapp.com
  5. 配置的redirect_uri
  6. 用户的浏览器在www.someboxapp.com上请求重定向网址 - 例如http://www.someboxapp.com/oauth/redirect_uri
  7. 在www.someboxapp.com上运行的Box应用程序向https://www.box.com/api/oauth2/token发出POST请求以完成身份验证并获取代表用户使用Box API的访问令牌。
  8. 这意味着如果您在内部网络上运行Box Web应用程序 - 您需要确保运行应用程序的Web服务器和用户的计算机可以连接到https://www.box.com/api/oauth2/

    如果www.someboxapp.com仅存在于您的本地网络上 - 那很好 - Box API不需要连接到此主机。