【问题标题】:Forcing a claims refresh from STS to RP强制从 STS 到 RP 的声明刷新
【发布时间】:2014-05-25 14:19:52
【问题描述】:

我们已经实施了自定义 STS 解决方案(其中有合理的原因,我不想将其作为问题的重点)。在这个 STS 中,用户可以更新他/她的个人资料数据(名字、姓氏、电子邮件等),并且通过这样做,同一用户显然会更新他们自己的声明。

但是,我仍在试图弄清楚如何通知 RP 某个特定用户的声明发生了变化。我已经检查了关于 RP 声明无效的 SO 上的其他线程,似乎大多数答案都涉及或指向http://garrettvlieger.com/blog/2010/03/refreshing-claims-in-a-wif-claims-aware-application/

但是:此链接 (1) 旧,并且 (2) 假定 RP 正在执行更新,在我的情况下,它不是。

那么:如何ping 每个 RP 以更新其声明?是否有内置机制,还是我必须自己推出?

子问题 1: 对我来说一个可接受的解决方案是使每个 FedAuth cookie 无效(在每个 RP 上),这意味着我只需执行大量注销所有 RP .也许对此有任何想法?

【问题讨论】:

    标签: .net-4.5 asp.net-mvc-5 wif ws-federation


    【解决方案1】:

    WS-Fed 协议中对此没有明确规定。想一想——这就像驾驶执照——DMV 怎么能让你的执照无效?他们需要一些反向渠道,并不是每个 RP 都能检查。

    也许您可以从 IdP 触发 signoutcleanup - 这当然是可能的,并且会以强有力的方式实现您正在寻找的东西。

    【讨论】:

    • 退出过程听起来像是一个解决方案,但它仍然需要建立一个回复通道。来自 WIF 团队的 Vittorio 解释说,在自定义 STS 中,绝对没有跟踪。这对我来说意味着,如果我要使用内置的东西,我会得到那个跟踪......
    • 好吧,他的意思是,如果您正在构建自己的自定义 STS,WIF 不会为您实现这一点。所以是的,你必须将它构建到你的 STS 中。我们在 IdentityServer 中做过,并没有那么难。
    猜你喜欢
    • 2010-10-23
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 2015-09-21
    • 2016-09-30
    • 1970-01-01
    • 2019-11-22
    • 2012-07-15
    相关资源
    最近更新 更多