有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java存储社交登录Oauth2访问令牌的位置

我正在尝试构建一个SpringBootRESTAPI,它将实现社交登录(Spotify)。成功登录Spotify后,我想将Spotify access_令牌存储在我生成的JWT令牌中,以便能够访问我的后端。我需要一个Spotify访问令牌,以便能够对Spotify进行API调用(几乎所有对我的应用程序的请求都需要调用Spotify API)。在JWT中存储对外部服务的访问令牌是一种好做法吗?或者我应该将访问令牌存储在数据库中,并在需要时读取它?也许您有关于如何实现调用外部服务的无状态RESTAPI的指南吗


共 (1) 个答案

  1. # 1 楼答案

    通常,我在Redis中存储访问令牌,它比DB更快。如果您使用DB,每个任务将链接DB两次,一次用于获取用户信息(如用户名和密码),一次用于读取访问令牌。当任务的频率很小时,就可以了。但是当搜索的频率越来越高,存储在DB中,会很浪费性能。使用Redis还有另一个优点,它有过期时间。所以,在我的大部分项目中,我使用Redis商店令牌