ADFS 2.0令牌到期时间

时间:2012-04-03 13:20:58

标签: c# adfs2.0 sts-securitytokenservice federation

我正在缓存客户端上由ADFS 2.0发出的令牌,并在调用该服务时多次使用它。

在生产环境中,我想确保客户端可以缓存的令牌在几分钟后过期。 我已经读过ADFS 2.0中的令牌在10个小时后到期,但是我找不到可以为依赖方更改令牌的到期时间的地方。

这就是我目前从STS请求令牌的方式:

WSTrustChannelFactory trustChannelFactory = new WSTrustChannelFactory(binding, http://adfs/adfs/services/trust/13/windows");

trustChannelFactory.TrustVersion = TrustVersion.WSTrust13;
WSTrustChannel channel = (WSTrustChannel)trustChannelFactory.CreateChannel();
RequestSecurityToken rst = new RequestSecurityToken(WSTrust13Constants.RequestTypes.Issue);

rst.RequestDisplayToken = true;
rst.AppliesTo = new EndpointAddress("http://*****/IService);
rstr = null;
SecurityToken token = channel.Issue(rst, out rstr);

我尝试将WEB SSO时间设置为两分钟,但似乎没有任何影响。

在ADFS上配置到期时间的正确位置是什么?

1 个答案:

答案 0 :(得分:3)

您可以使用ADFS PowerShell扩展模块执行此操作:

使用:

Set-AdfsRelyingPartyTrust –TargetName "Relying party name" –TokenLifeTime 5

将到期时间设置为5分钟。

请记住首先通过运行

加载ADFS PowerShell管理单元
Add-PSSnapin Microsoft.Adfs.PowerShell

可在此处找到更多文档: http://technet.microsoft.com/en-us/library/adfs2-powershell-basics%28v=ws.10%29.aspx

http://technet.microsoft.com/en-us/library/adfs2-help-using-windows-powershell%28v=ws.10%29.aspx