互联网上有很多很好的内容解释了如何使用keybeat保护spring api:创建一个在keybeat中表示api服务的客户端,并使用如下链接来获取访问和刷新令牌:
<Domain>/auth/realms/<realm>/protocol/openid-connect/auth/{some parameters}
这将产生两个令牌。到现在为止,一直都还不错。
但是,现在我不确定前端访问api的流应该是什么样子。
前端是否应该直接访问这个端点,从而获得访问和刷新令牌?这意味着api只能具有public访问类型,因为无法安全地存储客户机(api)机密。
或者应该有第三个服务器以某种方式为每个用户存储刷新令牌,如果用户的访问令牌不再有效,则可以调用该服务器。然后,该服务器将使用客户机的刷新令牌(以及可以安全存储的客户机机密,因为它将位于后端)从keydove获取新的访问令牌,并将其转发给用户。
我想我要问的主要问题是,客户机/用户是否应该获得刷新令牌。
如果需要根据第二个选项实现逻辑,我会感兴趣的链接或描述如何在spring中完成类似的操作。
暂无答案!
目前还没有任何答案,快来回答吧!