将Netty应用程序转换为SAML2.0服务提供程序端点的选项



我有一个使用Netty 4的应用程序。作为某种服务器的X框架。身份验证必须是联合的,所以现在我需要将其转换为SAML2.0服务提供者。

我做了一些研究,我担心的是,为了使用现有的SAML2.0解决方案,即OpenAM, pingfederated,服务提供商必须是在某种web容器中运行的web应用程序,这在我的项目中并非如此。这是真的吗?

我对单点登录和联盟的世界是非常陌生的,我非常感谢您提供的任何信息和技巧。

SAML通常使用浏览器在两个站点之间保持一个公共的"会话"。

操作如下:

  • 一个站点A.org在浏览器中启动会话a。
  • 它发现没有SAML身份验证,并向SAML身份提供者发送消息。通过浏览器自动提交表单(JavaScript),
  • 身份提供者看到没有SSO会话,执行登录表单
  • 在登录表单后,它返回到站点A.org与SSO会话ID(可以这么说)。
  • 如果同一个浏览器现在在Site .net上启动一个新的会话B,它再次向SAML身份提供者发送,现在它有一个现有的SSO会话ID返回。

发送到SAML身份提供程序的表单被自动发送回来,返回的身份验证也是一个自动发送的表单。一种跨站点脚本。

SAML servlet过滤器可以接受此结果,并在应用程序请求中放置userprincipal。

配置并不太难。您需要为您的"服务器"提供您自己的唯一密钥对,

总之,这是相当耗时的。它也有助于建立自己的身份提供者。Apache Shiro,一个Java EE服务器世界之外的安全解决方案,在我研究SAML的时候还没有SAML解决方案。

如果你有一个演示IdP和SP运行,它应该不是太难的快捷方式的一切。可以使用带有TamperData插件的FireFox来检查通信

最新更新