2016-04-27 31 views
0

到目前为止,我在Web应用中使用基于声明的解决方案遇到的问题是,如果在SSO服务器上,我撤销声明或删除用户帐户,则用户的令牌仍然在其Cookie中,因此仍然有效,直到令牌到期,允许他们继续访问网络应用程序。是否有办法强制更新用户的令牌或强制撤消令牌(或者每次用户尝试加载页面时都要使用身份服务器进行检查?),只要在服务器上进行更改?更新索赔也是一样......有时我们会增加权利。用户必须注销并重新登录才会非常烦人。请帮助。我们使用的是C#Web Apps和Thinktecture IdentityServerv3如何在IdentityServer上进行更改时立即更新声明或立即注销用户?

+0

如果您频繁更改索赔,那么也许您不应该将它们放入Cookie中。当然,这是一份索赔的副本。 –

+0

@BrockAllen我还能如何使用声明,但不能将它们放入cookie中?此外,是否有任何方法未授权用户,使他们不能再使用该网站了,如果我从IdentityServer中删除他们的帐户? – Pugz

+0

如果需要更多关于用户的信息,您可以使用索赔转换,或者只是进行数据库的往返访问。这是为了不将声明放入cookie中而进行的折衷。 –

回答

0

您可以使用刷新令牌和较小的验证令牌生存期来强制客户端定期回来。这不是立即撤销,但它是一种简单的方法,可以用来缩短服务器撤销和客户端更改之间的时间间隔。

Refresh tokens