Один из подходов, которые вы можете попробовать, - это иметь отдельный сервис session / jwt. Роли и ответственность этой службы состоят в том, чтобы хранить / проверять и аутентифицировать, используя следующие конечные точки.
- create_token (): создать новый токен JWT с заданными входными данными (например, информация о пользователе, срок действия и т. Д. c) )
- is_token_valid (): проверить, является ли токен действительным или нет
Таким образом, вы можете иметь такой поток: -
1. First hit to login-service > login service getting token from jwt-service > returning jwt token to UI/client.
2. UI/Client passing received jwt token to service-b via headers> which indeed pass jwt token to service-a, where each service independently calls is_token_valid() of jwt-service and process the request only after getting success response.
Для реализации этого в Spring-boot, что вы можете сделать, это добавить слой-перехватчик, который вызывается перед каждым классом Controller, где он читает заголовки, извлекает jwt-token и проверяет это из jwt-service.
Вы можете посмотреть при аналогичном ответе здесь . Другая ссылка здесь