Проверка идентификационных токенов с помощью Firebase Authentication - PullRequest
0 голосов
/ 04 февраля 2019

Мы начинаем разработку веб-приложения и думали об использовании Firebase Authentication для обработки нашего процесса регистрации.Однако мы не уверены в том, как работает проверка идентификатора токена.Кажется возможным проверить пользователя с его токеном вне области Firebase.Мы подумываем о создании приложения Node.js в Google Kubernetes Engine - насколько я знаю, оно не интегрируется с аутентификацией Firebase.

Firebase предоставляет пример о том, как проверить IDтокены, использующие Firebase Admin SDK:

// idToken comes from the client app (shown above)

admin.auth().verifyIdToken(idToken)
  .then(function(decodedToken) {
    var uid = decodedToken.uid;
    // ...
  }).catch(function(error) {
    // Handle error
  });

Мой вопрос заключается в том, должен ли Firebase совершать вызовы на свои серверы для проверки токена идентификатора при каждом запросе пользователя, что добавит задержку,или если он кэширует криптографические ключи, необходимые для проверки токена в течение длительного времени - я так полагаю, что он работает.

1 Ответ

0 голосов
/ 04 февраля 2019

Когда вы звоните verifyIdToken, Admin SDK декодирует токен с открытым ключом и проверяет, действительна ли подпись.Он загружает этот ключ с серверов Google, но он кешируется в течение 24 часов (поскольку он почти никогда не изменяется).После проверки токена он проверяет, был ли токен отозван, что требует еще одного вызова серверов аутентификации Firebase.Этот запрос выполняется для каждого вызова verifyIdToken.

. Вы можете проверить это по исходному коду .

...