用于对SharePoint应用程序的访问者进行身份验证的Idp需要一个用于控制内容的自定义查询字符串参数。我可以在访问SharePoint的STS之前使用http模块附加参数,但在进入adfs之前将其删除。在Fiddler,它看起来像这样:
以下是SharePoint中/ _trust的最后一次GET,而Query String参数是
GET /_trust/default.aspx?trust=ADFS01&ReturnUrl=/abc/_layouts/Authenticate.aspx?Source=%2Fabc&Source=/abc&whr=https%3A%2F%2Fwww.customidp.com%2FBrandedSTS%2F¶metercode=abc HTTP/1.1
trust ADFS01
ReturnUrl /abc/_layouts/Authenticate.aspx?Source=/abc
Source /abc
whr https://www.customidp.com/BrandedSTS/
parametercode abc
但是对ADFS的GET最终会放弃它。
GET /adfs/ls/?wa=wsignin1.0&wtrealm=urn%3awww%3aportal%3acom&wctx=https%3a%2f%2fwww.portal.com%2fabc%2f_layouts%2fAuthenticate.aspx%3fSource%3d%2fabc&whr=https%3a%2f%2fwww.customidp.com%2fBrandedSTS%2f HTTP/1.1
wa wsignin1.0
wtrealm urn:www:portal:com
wctx https://www.portal.com/abc/_layouts/Authenticate.aspx?Source=/abc
whr https://www.customidp.com/BrandedSTS/
我想知道是否有人知道如何让SharePoint的STS传递任何查询字符串参数,或者是否可以将Http模块添加到STS来实现此目的。
答案 0 :(得分:1)
因为代码“abc”包含在wctx参数中,我们最终使用RegEx将其从Global.asax中取出并将其附加到我们的STS的URL。