我们在Spring启动应用程序中使用spring API安全性。
我们已经实现了两级安全性,即页面级别和API级别。我们支持从我们自己的应用程序登录和SSO登录。我们还从authN(api / login和/ api / token)
中删除了两个api关于架构我几乎没有问题。
第1名:
我们有自己的登录信息,可以输入用户名和密码进行身份验证,并返回访问令牌。
如何向此API添加SSO(单点登录)?
2号:
如何持久化令牌以及如何使用刷新令牌。
当用户登录时,我将创建一个访问令牌和一个刷新令牌。访问令牌将被发送回UI,刷新令牌将在DB /缓存中。当用户从他的浏览器调用任何API时,他将发送带有ajax请求的访问令牌,过滤器验证令牌并在验证preAuthN服务中的令牌后发送响应。
我的问题是,如果访问令牌可能已过期,那么如何使用刷新令牌生成新的访问令牌?
解决方案1: 一旦服务器收到访问令牌,验证该访问令牌是否过期,从服务器本身调用/ api / token来更新访问令牌并处理请求并使用令牌发回响应
解决方案2: 一旦服务器收到访问令牌,验证该访问令牌并且访问令牌是否过期,将确认发送到浏览器,浏览器将以某种方式处理它以生成新的访问令牌
还是有更好的解决方案吗?