想象一下以下情况。
用户访问站点A(ASP.NET),使用ADFS进行身份验证并获取一组声明。在某些时候,他们需要注册一个额外的服务,以便他们被重定向到配置站点B(ASP.NET)(也使用ADFS - 所以SSO),他们通过输入相关的详细信息进行注册,并重定向回A. / p>
但是,部分配置过程将属性添加到存储库(通常是AD),我们希望这些属性构成其声明集的一部分。
为此,他们重新进行身份验证?是通过强制联合注销来实现此目的的最佳方法吗?这是由网站A还是网站B完成的?
如果他们是使用WIA的内部用户,他们将“在幕后”登录,整个过程将是透明的。
如果他们是使用FBA的外部用户怎么办?他们不必再次登录吗?鉴于这不是一个非常令人满意的用户体验,有没有办法解决这个问题?
有一些参考文献谈到将签名的令牌作为cookie写入客户端浏览器,然后STS稍后从cookie中验证SSO令牌。你会如何使用ADFS做到这一点?
答案 0 :(得分:2)
看一下我写的关于类似场景的博客文章:
Refreshing Claims in a WIF Claims-Aware Application
在这种情况下,用户在本地注销,然后重定向回ADFS,在那里他们“重新登录”,因为他们的ADFS cookie仍然有效。这个小跳对用户来说几乎是透明的,并且会更新声明。