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