2

我正在使用 ADFS 与许多不同的 RP 进行联合登录,包括我们自己的自定义 Web 应用程序、Office 365 和其他一些第三方服务。我遇到了一个问题,当wfresh=0在 URL 中指定时,登录会静默失败。它只是一遍又一遍地询问我的密码。当我单击“登录”按钮时,它不会让您登录并将您重定向回 RP,也不会失败并给您错误消息。相反,它会将您重定向回 STS 登录页面,因此在用户看来,它就像静默失败一样。

我发现了这个问题:wfresh not working with WS-Federation via ADFS,这似乎是在正确的轨道上。但是,虽然我确实看到了集成登录的问题,但我也遇到了与 Forms 登录类似的问题。外表症状不同,但行为似乎相同:如果您指定wfresh=0,它会直接将您发送到 /adfs/ls。

有什么方法可以配置 ADFS 以wfresh正确处理,或者至少忽略它?

更新:交叉发布到 MSDN 日内瓦论坛:http ://social.msdn.microsoft.com/Forums/vstudio/en-US/7acbbd11-cd69-466b-8faa-f129f24fe1fe/wfresh-parameter-causing-adfs-login-失败

4

3 回答 3

2

更新:微软今天为此发布了他们的修补程序:http: //support.microsoft.com/kb/2896713。它不是公共修补程序,因此您需要联系 Microsoft 支持以获取更新。

上一篇:我与 Microsoft 全球升级服务部门的一名升级工程师进行了交谈。EE 表示他们已经意识到这个问题,正在跟踪受影响的客户,并正在研究解决方案。遇到相同问题的任何人都应联系 Microsoft 支持并打开支持案例,以便在解决方案可用时通知他们。Microsoft 支持在解决方案 ID 号 2879919 下在内部跟踪此问题。

于 2013-10-15T13:36:50.463 回答
1

我最近看到了同样的事情。我们与一些 RP 建立了联系,并且还使用 Office 365。如果我让我的机器登录到 portal.microsoftonline.com,它最终会显示“页面无法显示”,URL 显示长字符串,最后是“wfresh = 0” .

在外部,如果我让我的浏览器登录到门户,它将带我回到表单,但从不接受我的新凭据。如果我将“wfresh=0”的值更改为“1”,它允许我回到外部和内部。我正在尝试查看事件日志以查看任何内容,但没有找到任何线索。还在寻找。

于 2013-09-26T22:49:11.770 回答
1

在访问 IIS 时,使用 MS IIS URL 重写来替换或删除 URL 中的 wfresh=0 是好还是坏的解决方案(如果可能)?

最好的当然是如果 ADFS 的默认安装首先使用 wfresh=0 :-)

IIS URL 重写1


更新:

我的问题是只有内部客户端遇到错误,而外部客户端(使用 ADFS 代理服务器)没有。

使用内部 ADFS 2.1 服务器上的 URL 重写和 /adfs/ls/web.config 中的以下 URL 重写规则有效:

    <rule name="wfresh0to1" enabled="true" stopProcessing="true">
     <match url="(.*)" />
      <conditions>
       <add input="{QUERY_STRING}" pattern="(.*)wfresh=0(.*)" />
      </conditions>
      <action type="Rewrite" url="{R:0}?{C:1}wfresh=1{C:2}" appendQueryString="false" />
    </rule>
于 2013-10-11T14:14:38.707 回答