Я создал Rest API на основе среды PHP Slim, которая использует JSON Web Tokens (JWT) для аутентификации и авторизации доступа.
Чтобы использовать API, клиент должен сначала аутентифицировать себя, отправив свои учетные данныена специальный маршрут /auth/token
, который, если он верен, возвращает токен с цифровой подписью, содержащий список разрешенных разрешений.Все последующие запросы к API требуют токен для аутентификации и авторизации.Это довольно стандартная штука и работает хорошо.
Но теперь я хочу разделить службу /auth/token
на ее собственный микро-сервис, чтобы в будущем я мог повторно использовать ее с другими API.
Проблема в том, как API теперь будут аутентифицировать JWT, поскольку у них нет доступа к секрету, который использовался для его генерации?
Я использую Firebase\JWT\JWT
для генерации токена, который будетперешел на новый сервис авторизации.И я использую промежуточное программное обеспечение tuupola/slim-jwt-auth
для аутентификации полученного токена на каждом API.
Поскольку каждый API и новая служба аутентификации будут работать на одном и том же хосте, я мог бы поделиться секретом между ними, но это похоже наплохая практика.Есть ли лучший способ?