使用mod_auth_mellon pingfederate的动态回调网址

时间:2017-10-11 16:21:40

标签: single-page-application pingfederate mod-auth

我们使用mod_auth_mellon配置了SPA,SP Initiated设置运行良好。 我们现在想要添加动态路由到启动SSO SAML呼叫的SPA URL的功能。

以下是当前流程

  1. 用户打开网址http://foo.com/user/1
  2. 会话已过期,因此SP启动SSO握手并将用户重定向到IDP(Ping Federate)。
  3. 用户登录IDP,成功验证后重定向到http://foo.com/sso_callback
  4. 在步骤(3)中,我们现在想要重定向回http://foo.com/user/1。 我应该在SP / IDP配置中进行哪些配置更改以启用动态路由?

1 个答案:

答案 0 :(得分:0)

如果您使用的是SAML 2.0,则需要使用RelayState。在步骤2中创建AuthN请求时,您需要确保您作为服务提供商包含所需的RelayState。您提供给RelayState的IDP的值将通过事务传递,并在用户POST到您的ACS @ http://foo.com/user

时作为步骤3中的URL参数返回给您

以下是一个示例流程:

  1. 用户打开网址http://foo.com/user/1
  2. 会话已过期,因此SP会将用户重定向到IDP,其中包含AuthN令牌和RelayState值http://foo.com/user/1
  3. IDP验证用户
  4. IDP指示用户将SAMLResponse令牌发送到SP ACS @ http://foo.com/sso_callback,还包括RelayState的其他URL参数
  5. SP在ACS上使用并验证SAMLResponse,如果成功,则将现在活动的会话用户重定向到RelayState参数中包含的值
  6. 如果您没有执行SP init SSO,而是从PingFederate执行IDP发起的SSO Url的通用重定向,您可以将url参数TargetResource添加到您的IDP发起的SSO重定向,然后将其接收回来SAMLResponse稍后。