RESTful交叉身份验证

时间:2011-08-25 11:36:23

标签: rest oauth java-ee-6 jax-rs restful-authentication

我在JAX-RS(泽西岛)中实现了2个RESTful服务:“A”和“B”。它们部署在单独的应用程序服务器上。 “A”和“B”都是我的。

  1. 客户端连接并登录“A”服务;
  2. 客户端询问“A”资源,例如:https://blabla1/services/myresources;
  3. 对于检索资源“myresources”服务“A”应该询问(而非重定向)服务“B”以获取其他资源,例如:https://blabla2/services/anotherresources
  4. 服务“B”也需要进行身份验证,这就是问题所在。是否可能,服务“A”询问带有客户端身份验证参数的“B”,以及它将如何工作?

    我想这可能是oauth库,但我找不到任何例子(接近我的问题)和howto's。

    由于

1 个答案:

答案 0 :(得分:1)

总结一下评论中概述的解决方案:

服务“B”(或其前面的代理)应该只接受带有服务器“A”证书的HTTPS请求。 (服务器“A”也可以验证服务器“B”的证书,以避免中间人攻击。)

然后用户名可以是纯文本请求参数。

如果您拥有比服务人员更好的网络人员或发现SSL令人生畏,请让网络人员在您的站点之间建立安全隧道(形成VPN),并使除隧道之外的原始Internet无法使用服务“B”。