2
我正在开发项目,希望使用Shibboleth的服务提供商来允许客户使用其外部身份登录我的应用程序。诀窍是我想用我自己特定的会话服务和拦截器来检查身份验证,而不是使用Shibboleth。Shibboleth服务提供商在返回之前的工作任务已通过身份验证
所以基本上工作流程将是。
- 客户从我的网站重定向到其特定的IDP及体征。
- 认证请求来自外部IDP我Shibboleth的SP。
- 在我的Shibboleth SP解码请求后,我想从请求中提取传入的标识信息(UUID),我将映射到我自己的内部标识(通过调用我自己的内部链接服务),并创建一个会话客户使用我自己的SessionService。该链接服务被称为和会话创建
- 后话,我想给客户重定向到登录页面(只返回一个302),如果有上述的失败我想返回一个401
因此,我只想使用Shibboleth来确定客户是谁,但我将使用自己的特定会话,并使用自己的特定拦截器(将检查该会话)来保护资源。
我的问题是。
- 我是否甚至需要Shibboleth这个用例?我不能只是有一个外部服务,它接收传入的SAML请求解码它,并做我想要的。我不完全明白我从Shibboleth服务提供商那里得到什么。
- 如何让我的Shibboleth SP在返回给客户之前执行这些条件任务(检查帐户链接,并创建我自己的会话),然后再对其进行身份验证。
在此先感谢您的帮助。