我正在为我们的系统实施SSO,以集中用户身份验证和授权,在该系统中,我们将拥有一个SSO服务器(用户和会话管理器),用户可以使用他/她的凭据进行登录,然后可以访问所有其他关联的系统。
SSO的实现:
访问令牌的到期时间比刷新令牌少,并且它不存储在SSO服务器中,仅检查其签名是否获得授权,但存储刷新令牌,以便我们以后可以在需要时撤销它。 (由于我们稍后会收到大量授权请求,所以我不想存储访问令牌。)
问题是,如果用户要注销,则他/她的所有访问令牌都应该过期,但它们不会存储在数据库中,而仅存储在每个系统的客户端中,我只能撤消刷新令牌,因此令牌仍然存在有效期,直到到期时间过去,直到可以使用为止,这表示用户仍在登录。
我使用JWT进行令牌生成和验证。
这是我在这里的第一个问题,希望我已正确解释了该问题。 我将等待您的友好答复。
答案 0 :(得分:0)
最好使用Cookie来存储令牌。用户注销后。只需清除cookie并返回即可。现在,用户没有访问令牌,因此不会通过身份验证。
注意:请确保制作安全的cookie。