我的意思是说,我可以在没有注册服务提供商的情况下向IDp发送SAML请求吗?我的雇主想用JAVA开发一个带有服务提供者和身份提供者的示例应用程序,因此服务提供者将向身份提供者发送SAML 2.0 authrequest请求/响应。所以我从这个链接下载了样例应用程序。这个例子将使用ssocircle作为idp,它工作得很好。
这里我们必须在ssocircle idp中为服务提供商导入元数据。但在这里,我的雇主不希望服务提供商依赖于IDP。所以基本上,他希望服务提供商与任何IDP进行通信,使用SAML2.0请求,服务提供商不应该依赖于IDP。服务提供商将向任何IDP发送authrequest, IDP将给出响应。以及我们如何在java中向IDP发送请求,如果您可以提供示例应用程序链接。
当IdP和SP处于同一安全域中时,这是可能的,其中两个本质上是受信任的,并且它们的公钥材料可以被彼此使用,以理解和处理SAML AuthnRequest和Response。
理想情况下,SAML协议需要在IdP和SP之间建立信任,而这两者位于不同的安全域中。
但是对于您的要求,我建议使用OpenID或OAuth协议,其中SP不会依赖于任何特定的IdP。