Как проверить пользовательский токен Firebase, созданный методом createCustomToken () - PullRequest
0 голосов
/ 11 февраля 2019

Я создал собственный токен авторизации с помощью createCustomToken (), см. https://firebase.google.com/docs/auth/admin/create-custom-tokens.

Но позже, когда я пытаюсь проверить этот токен с помощью функции verifyIdToken (), он выдает следующую ошибку

Error: verifyIdToken() expects an ID token, but was given a custom token. See https://firebase.google.com/docs/auth/admin/verify-id-tokens for details on how to retrieve an ID token.

Что рационально, потому что такого идентификатора нет ... Но мне нужно - просто проверить токен, аналогично jwt.verify () ...

Кто-нибудь сталкивался с этой проблемой и чторешение было найдено?Можно ли проверить токен авторизации Firebase через библиотеку jsonwebtoken?

PS Я собираюсь использовать верификацию в конечных точках Google Cloud Function

РЕШЕНИЕ: похоже, я только что нашел решение https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_a_third-party_jwt_libraryПросто нужно извлечь открытый ключ из https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com и использовать библиотеку jsonwebtoken, чтобы проверить это ...

1 Ответ

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

verifyIdToken как имя для проверки IdToken, а не пользовательский токен.

CustomToken для клиента до sign in.Этот пользовательский токен может быть проверен с помощью простой JWT-проверки, такой как ваше решение (срок действия которой истекает через час).

Но IdToken - это еще одна история, вам нужно выполнить вход в систему с использованием firebase auth.

Чтобы получить Id Token от клиента после входа в систему , этозависит от того, является ли клиент Android, Web или IOS.Код для получения IdToken можно прочитать в этом разделе

...