2014-10-17 68 views
0

我有一个Java Web应用程序,我想将其作为服务提供者并实施SAML。我不确定如何去做的工作流程。实施SAML声明

我有read this SO question但仍然无法完全理解。 在他们说他们需要向IDP发送请求的问题中,如果我是对的,则称为声明

如何创建断言?我在那里看到了样品。但是,在哪里传递登录凭证?

另外我该如何使用IDP注册我的应用程序,并且是否需要安装由IDP提供的一些证书?什么是工作流程?

感谢

+0

http://stackoverflow.com/questions/18801299/saml-simple-example-for-beginners – 2014-10-17 08:40:05

回答

0

通常使用某种形式的第三方软件来提供SAML的集成。这个例子是OpenAM和Shibboleth。使用类似这样的软件是一个好主意SAML是一个复杂的协议,很容易犯错误,让您的解决方案容易受到攻击。

我有一篇关于SAML的博客文章以及您可以查看的工作流程。
This one about SAMLthis one about the SAML Web profile flow

如果你坚持做全集成自己的代码。 OpneSAML是您可以使用的一个库。这将要求您对SAML有一个很好的理解。 我的书A Guide to OpenSAML对SAML和OpenSAML库有很好的介绍。

我也有一些blog posts on OpenSAML

关于您的问题。断言是从IDP发送给您的东西,这是用户身份验证的证明。你需要做的是发送一个AuthnRequest给IDP来启动和认证。

IDP上的注册完全取决于在IDP方面用什么软件来实现SAML。通常,它涉及到向IDP发送SAML元数据XML。这是一个包含证书,端点等的配置文件。这是一个post on SAML Metadata
作为回报,IDP会向您发送您用于与之通信的元数据。