我一直在阅读联邦安全和WCF,并对安全令牌服务(STS)发出的令牌的生命周期有疑问。
特定会话的安全令牌是与服务器一起启动的,还是可以在多个会话中重用?
我的目标是通过关闭所有打开的会话并强制重新认证来使STS发出的所有安全令牌无效。我担心恶意的用户可能只是重用已经发出的令牌。
非常感谢任何输入。
答案 0 :(得分:1)
从STS返回的SecurityToken在1小时后过期(默认)。您可以使用以下代码在多个会话中重复使用它。
var channel = channelFactory.CreateChannelWithIssuedToken(token);
但是你当然必须将令牌缓存到某个地方才能实现。如果你使用标准的CreateChannel()方法,我相信每次都会从STS请求令牌。