JWT黑名单表和性能问题考虑

JWT黑名单表和性能问题考虑,jwt,Jwt,我目前正在使用Spring的RESTful后端。由于RESTful是无状态的,所以我决定使用JWT,因为在我的整个研究过程中,每个人都推荐使用JWT(至少对于基于REST的应用程序) 考虑到身份验证阶段的正常流程: Frontend Backend --- Login flow (refresh token request flow). --- Login details

我目前正在使用Spring的RESTful后端。由于RESTful是无状态的,所以我决定使用JWT,因为在我的整个研究过程中,每个人都推荐使用JWT(至少对于基于REST的应用程序)

考虑到身份验证阶段的正常流程:

Frontend                                                      Backend
--- Login flow (refresh token request flow). ---

Login details                               ->        Verify login info
                                                      |
                                                      v
Save the refresh token                      <-        Generate JWT refresh token

--- Access token request flow. ---

Request new access token                    ->        Generate a new Access token
                                                      |
                                                      v
Save the access token                       <-        Give back to user
(Repeat when the access token expires)

--- Logout flow ---

Call JWT token invalidating API             ->        Add a refresh token and access token's hashes 
                                                      to blacklist table.
                                                      |
                                                      v
Erase JWT access token and refresh token    <-        Return result to user.
from storage    
前端后端
---登录流(刷新令牌请求流)---
登录详细信息->验证登录信息
|
v
保存刷新令牌以生成新的访问令牌
|
v
保存访问令牌添加刷新令牌和访问令牌的哈希
到黑名单表。
|
v

擦除JWT访问令牌和刷新令牌,因此我发现在身份验证和授权方面要做的比我以前想象的多得多。 正因为如此,我最终集成了外部SSO提供程序来为我管理所有的身份验证部分(特别是KeyClope)