2014-12-18 24 views
2

我正在开发项目,希望使用Shibboleth的服务提供商来允许客户使用其外部身份登录我的应用程序。诀窍是我想用我自己特定的会话服务和拦截器来检查身份验证,而不是使用Shibboleth。Shibboleth服务提供商在返回之前的工作任务已通过身份验证

所以基本上工作流程将是。

  1. 客户从我的网站重定向到其特定的IDP及体征。
  2. 认证请求来自外部IDP我Shibboleth的SP。
  3. 在我的Shibboleth SP解码请求后,我想从请求中提取传入的标识信息(UUID),我将映射到我自己的内部标识(通过调用我自己的内部链接服务),并创建一个会话客户使用我自己的SessionService。该链接服务被称为和会话创建
  4. 后话,我想给客户重定向到登录页面(只返回一个302),如果有上述的失败我想返回一个401

因此,我只想使用Shibboleth来确定客户是谁,但我将使用自己的特定会话,并使用自己的特定拦截器(将检查该会话)来保护资源。

我的问题是。

  • 我是否甚至需要Shibboleth这个用例?我不能只是有一个外部服务,它接收传入的SAML请求解码它,并做我想要的。我不完全明白我从Shibboleth服务提供商那里得到什么。
  • 如何让我的Shibboleth SP在返回给客户之前执行这些条件任务(检查帐户链接,并创建我自己的会话),然后再对其进行身份验证。

在此先感谢您的帮助。

回答

1

是的。如果你打算与他们的服务互动,我相信你确实需要shibboleth。除非你要创建自己的shibboleth实现。

自己创建自己的身份验证实施不是安全最佳实践。我建议使用来自信誉良好的来源的最新实施 - 对于处理安全问题(如身份验证,授权等)的任何软件来说,这是一个很好的建议。

相关问题