Я пытаюсь внедрить систему аутентификации / авторизации с использованием firebase, и я борюсь с последней частью процесса авторизации, которая позволяет моему серверу проверять действительность токена.
Есть это можно сделать двумя способами:
- Проверить токен с помощью Admin SDK firebase, где сервер взаимодействует с Firebase и проверяет токен (безопасный параметр)
- Проверить токен с помощью сторонняя библиотека JWT.
Мой вопрос связан с вариантом (2), который согласно документации вполне осуществим . Вопрос в том, насколько это безопасно? Все, что включено в процесс проверки токена, публикуется c в соответствии с этим:
Наконец, убедитесь, что ID-токен был подписан секретным ключом, соответствующим заявке токена. Возьмите ключ publi c из https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com и используйте библиотеку JWT для проверки подписи. Используйте
Если токен является publi c, а ключ для его проверки - publi c, кто гарантирует, что токен является подлинным?
Возможно, что-то связано к JWT, которые мне не хватает?
PS. Я уже реализовал вариант (1) с удаленной проверкой, но это существенно повлияет на производительность приложения.