我是服务提供商。此外,对这个开源C#组件(AspNetSaml)大吼大叫,它们让生活变得更轻松:https://github.com/jitbit/AspNetSaml
无论如何,当我向IdP(在本例中为SalesForce)发送请求时,我提供了一个ACS URL,我可以看到它是在我的xml中设置的:
xw.WriteAttributeString("ProtocolBinding", "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST");
xw.WriteAttributeString("AssertionConsumerServiceURL", _assertionConsumerServiceUrl);
(_ assertionConsumerServiceUrl是我真正希望它重定向到的,我可以看到它的设置)
但是Salesforce发生的情况是它始终使用我在创建连接应用时需要设置的ACS URL:
我的实际ACS网址值已消隐,但该值始终是重定向的值。
必须有办法。想象一下,如果不是设置http://www.foo.com/,而是想重定向到:http://www.foo.com/?Some=1&Value=2&You=3&Want=4&ToAdd=5 ...而且这些值可能因用户而异。
这必须是可能的!谢谢!
答案 0 :(得分:1)
我等了一个星期,以至于看起来我没有回答我自己的问题只是为了建立代表点。
无论如何,我在这里发现并确认:https://salesforce.stackexchange.com/questions/210419/saml-sso-how-to-configure-a-dynamic-acs-url-salesforce-is-idp/210496
RelayState 旨在指导用户成功登录到他们登录的应用程序中的特定位置。