wfresh无法通过ADFS与WS-Federation一起使用

时间:2013-06-20 21:08:30

标签: asp.net claims-based-identity adfs2.0 adfs ws-federation

我有一个通过WS-Federation对ADFS 2进行身份验证的应用程序。当我从ADFS获得响应并根据该声明时,我会查找特定声明,我可以将用户授权到我的应用程序中。我想创建一个增强功能,当用户对ADFS进行身份验证并返回我的应用程序而没有我要求的声明时,我将它们重定向回身份提供程序(ADFS),但这次强制它们再次提供其凭据。我编写了我的代码来检测一个缺少我需要的声明的经过身份验证的用户,并将它们发送回reauthenticate,这次发送“Freshness”参数(wfresh = 0)。我的印象是,这会提示用户提供凭据,但它似乎只是重用原始凭据,当然,这会导致无限循环(ADFS停止。)我怎样才能实现这一目标?

我的网址在没有所需声明后将其发送回IdP时看起来像这样:

https://somedomain.com/adfs/ls/auth/integrated/?wa=wsignin1.0&wtrealm=https%3a%2f%2fanotherdomain.com%2flogin.ashx&wreply=https%3a%2f%2fanotherdomain%2flogin.ashx&wctx=1106273&wfresh=0

2 个答案:

答案 0 :(得分:3)

集成的wfresh没有意义。您始终登录AD并且无法注销。基于表单的身份验证可能有所不同。但是在ADFS中没试过。

答案 1 :(得分:0)

我怀疑wfresh的默认值为零。

你没有wfresh试过吗?

另外,您可以退出 - AD FS: How to Invoke a WS-Federation Sign-Out