【问题标题】:Access REST apis among two different secured applications在两个不同的安全应用程序之间访问 REST API
【发布时间】:2014-07-10 23:44:20
【问题描述】:

我有两个不同的带有身份验证的 Spring Web 应用程序,

  • 我的第一个应用程序必须从第二个应用程序获得一些响应,以便向用户显示所需的详细信息。现在的问题是,由于第二个应用程序也受到保护,我无法从中获得响应。建议我如何在第一个应用程序中从服务器代码验证第二个应用程序。

注意:我尝试使用 CAS 服务器,当我发出请求时它返回给我登录页面的 html 文本。

【问题讨论】:

  • 听起来像是 OAuth2 的一个很好的用例 - 一个想要代表用户访问资源的应用程序。
  • @LukeTaylor 感谢您的宝贵回答,我现在有另一个疑问,据我所知,OAuth2 的主要目的是询问用户,授权第三方应用程序使用来自 OAuth 提供商的用户资源。但在我的要求中,我不必询问用户,因为第三方不涉及。两个应用都是我的。
  • OAuth2 不必涉及最终用户。可以将访问批准内置到系统中,也可以使用“客户端凭据”授权,其中仅根据客户端的身份授予访问权限。
  • 感谢 LukeTaylor,如果遇到任何问题,我会尝试 OAuth2 并返回此讨论。再次非常感谢。

标签: java spring spring-security single-sign-on cas


【解决方案1】:

请参阅此https://stackoverflow.com/a/24486898/3487801。可以使用 CAS 保护服务。您需要做的就是在您的 cas 服务器上添加 restlet 模块并构建一个简单的 Java 客户端来获取票证并对您的服务进行身份验证。

有人说,没有用于无头 CAS 的有效 Java 客户端。但是 CAS restful API https://wiki.jasig.org/display/casum/restful+api 上的 groovy 示例实际上是有效的。您需要对其稍作修改才能使其正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 2012-08-06
    • 1970-01-01
    • 2011-08-06
    • 2021-03-14
    • 1970-01-01
    相关资源
    最近更新 更多