问题 ADFS服务器的URL重定向


我在我的ASP.net网络应用程序中使用ADFS进行身份验证。 STS服务器将浏览器重定向到 https://test.contoso.com。在首先将客户端重定向到STS时,STS不允许任何返回URL参数。

是否可以重定向浏览器 https://test.contoso.com (从STS重定向后)到任何其他URL,比方说 https://variableName.test1.contoso2.com ?

任何帮助深表感谢。


7587
2018-04-25 22:18


起源



答案:


在身份验证时,ADFS默认情况下应将用户重定向到依赖方应用程序领域。听起来这就是您已经拥有但您希望能够重定向到不同的RP URL。

让我们假设你有一个RP,与领域 http://myrprealm.com 在ADFS中配置。用户浏览到 http://myrprealm.com/Contacts.aspx。 WIF FederatedAuthenticationModule(FAM)看到用户未进行身份验证,因此它将相对URL“/Contacts.aspx”保存在名为ru的Return URL参数中。此ru包装在WS-Federation Passive上下文参数(wctx)中。然后,FAM将用户重定向到ADFS以进行身份​​验证。 ADFS将保留wctx参数并将其回送到RP(http://myrprealm.com)成功验证。现在,FAM处理此ADFS响应。当FAM打开wctx时,它会注意到ru = / Contacts.aspx,因此在建立会话后,它会将用户重定向到Contacts.aspx。

如果使用SDK(visual studio>添加STS参考)将WIF合并到ASP.NET站点中,则默认情况下会出现此行为。


14
2018-04-27 17:48



好的,所以我在ADFS中注册了URL_1作为端点URL。但是说用户点击URL_2并且URL_2配置为将用户重定向到ADFS以进行身份​​验证。身份验证后,ADFS会将用户重定向到URL_1。我希望它将其重定向到URL_2或一般URL _ {*},其中用户被重定向到ADFS。有什么指向这个吗? - Sam
您不希望ADFS重定向到URL_2,您始终希望它重定向到WIF正在侦听的URL_1。 WIF将在URL_1处理响应,然后负责将用户重定向到URL_2。请重新阅读我的回复,我已经详细说明了细节。 - Andrew Lavers
@AndrewLavers - 我使用VS2013遇到了同样的问题,但我似乎没有添加STS参考的选项。我已将我的应用程序插入ADFS,但每次都会重定向到根URL,而不是wctx参数中指定的URL。我理解你上面关于处理响应的FAM所说的内容,但它本身似乎不起作用。你能指点我在正确的方向吗? - Brosto


答案:


在身份验证时,ADFS默认情况下应将用户重定向到依赖方应用程序领域。听起来这就是您已经拥有但您希望能够重定向到不同的RP URL。

让我们假设你有一个RP,与领域 http://myrprealm.com 在ADFS中配置。用户浏览到 http://myrprealm.com/Contacts.aspx。 WIF FederatedAuthenticationModule(FAM)看到用户未进行身份验证,因此它将相对URL“/Contacts.aspx”保存在名为ru的Return URL参数中。此ru包装在WS-Federation Passive上下文参数(wctx)中。然后,FAM将用户重定向到ADFS以进行身份​​验证。 ADFS将保留wctx参数并将其回送到RP(http://myrprealm.com)成功验证。现在,FAM处理此ADFS响应。当FAM打开wctx时,它会注意到ru = / Contacts.aspx,因此在建立会话后,它会将用户重定向到Contacts.aspx。

如果使用SDK(visual studio>添加STS参考)将WIF合并到ASP.NET站点中,则默认情况下会出现此行为。


14
2018-04-27 17:48



好的,所以我在ADFS中注册了URL_1作为端点URL。但是说用户点击URL_2并且URL_2配置为将用户重定向到ADFS以进行身份​​验证。身份验证后,ADFS会将用户重定向到URL_1。我希望它将其重定向到URL_2或一般URL _ {*},其中用户被重定向到ADFS。有什么指向这个吗? - Sam
您不希望ADFS重定向到URL_2,您始终希望它重定向到WIF正在侦听的URL_1。 WIF将在URL_1处理响应,然后负责将用户重定向到URL_2。请重新阅读我的回复,我已经详细说明了细节。 - Andrew Lavers
@AndrewLavers - 我使用VS2013遇到了同样的问题,但我似乎没有添加STS参考的选项。我已将我的应用程序插入ADFS,但每次都会重定向到根URL,而不是wctx参数中指定的URL。我理解你上面关于处理响应的FAM所说的内容,但它本身似乎不起作用。你能指点我在正确的方向吗? - Brosto