2014-01-27 27 views
0

我调查从我们的防火墙后面坐(这是不暴露给外界)的内部应用程序集成盒API调用的可能性。所以问题是,如果我们使用回调URI向Box发送一个验证请求,Box会直接回发给指定的回调URI(所以本质上它会从Box发起一个新的请求到客户端),或者它是否向发出请求的客户端发送请求(标准HTTP请求/响应),并期望客户端使用标记重定向到回调URI?Box API OAUTH协议是否在防火墙后面工作?

这可能听起来很奇怪,但在调查过程中,这似乎是Twitter OAUTH协议的工作原理,如果这样做会对我们有很大帮助,因为我们不想为外界打开防火墙。

看到这里的信息:https://dev.twitter.com/discussions/5801

编辑:刚刚发现这个这似乎表明,客户端将始终发起请求,从不服务器:https://stackoverflow.com/a/6116736/811108

提前非常感谢。

回答

2

对OAuth的一个典型的用户旅程上盒想是这样的:

  1. 用户的浏览器请求www.someboxapp.com和用户点击登录按钮
  2. 用户的浏览器请求其开始盒验证网址与https://www.box.com/api/oauth2/authorize
  3. 用户在Box授权网页上进行身份验证,然后Box站点将302重定向标头发回给用户浏览器。此标头告诉用户的浏览器请求由www.someboxapp.com配置的redirect_uri
  4. 用户的浏览器请求www.someboxapp.com上的重定向URL - 例如, http://www.someboxapp.com/oauth/redirect_uri
  5. 上www.someboxapp.com运行盒子的应用,使POST请求https://www.box.com/api/oauth2/token,完成认证,并得到一个访问令牌使用代表用户的盒API。

这意味着,如果你在内部网络上运行的箱的Web应用程序 - 你需要确保运行的应用程序和用户的计算机网络服务器可以连接到https://www.box.com/api/oauth2/

如果WWW .someboxapp.com只存在于您的本地网络 - 这很好 - Box API不需要连接到该主机。