1

我正在客户端上缓存 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 上配置过期时间的正确位置是什么?

4

1 回答 1

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

于 2012-04-11T12:18:35.113 回答