目前我正在使用j2ee(非弹簧)应用程序。我想将SAML支持集成到我的应用程序中。为此我将spring saml示例部署为单独的服务并尝试进行rest api调用,但它将调用重定向到idp发现页面,因为没有活动会话。那么我需要做些什么来将Spring SAML作为独立服务运行?
答案 0 :(得分:0)
您是否在弹簧应用程序与功能性IdP之间建立了连接?另外,您的j2ee应用程序是否基于Web?
我假设您的应用是基于网络的。如果您的spring应用程序按预期工作,您可以在应用中添加一个表单,如下所示:
<form action="[url to your spring app]/saml/login?disco=true" method="GET">
<input type="radio" name="idp" id="idp1" value="[path to your idp]">
<label for="idp1">My IdP</label>
<input class="button" type="submit" value="Start single sign-on">
</form>
并将操作链接和IdP地址修改为您的配置。
然后,通过提交表单,您已向spring应用程序发送请求以登录您指定的IdP。登录后,您应该被重定向到您的spring应用程序。在那里,您可以使用必要的身份验证信息重定向到您自己的应用程序。
我不确定这种实施有多安全。生产的最佳解决方案仍然是在您的应用程序中内置SAML身份验证方法。