Архитектура сервиса авторизации по jwt токенам
Хочу реализовать небольшой сервис авторизации по jwt токенам, как я хочу это сделать :
- Токены будут подписываться алгоритмом RSA
- Хранение ключей хочу делегировать на Vault, причем хотелось бы что бы Vault автоматически генерировал новые ключи
- Сервис Авторизации будет вытягивать из Vault актуальный приватный ключ для подписи токена, выпускать jwt токен с заголовками jku (url публичного ключа в Vault) и kid (идентификатор ключа)
- Сервис-верификатор соответсвенно идет в Vault и с помощью jku и kid получает актуальный публичный ключ, после чего валидирует токен
Насколько актуальна и вообще адекватна такая схема ? Предусмотрен ли в Vault такой кейс его использования ?