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