Как уничтожить idToken в firebase-admin?

Я пытаюсь остановить работу сервера nodejs с помощью firebase-admin, я не использую функции firebase, потому что это не соответствует моим требованиям.

Я успешно создал idToken и проверил его на сервере, используя код firebase.

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

Проблема в том, что когда я выхожу из системы на клиенте, idToken все еще жив до конца 60-минутного срока службы.

Как уничтожить IdToken, чтобы сервер перестал работать?


person Jason    schedule 16.06.2017    source источник
comment
Насколько я знаю, невозможно аннулировать токен идентификатора из SDK. Какую операцию сервера вы пытаетесь отменить, отозвав токен?   -  person Hiranya Jayathilaka    schedule 16.06.2017
comment
Это вызов mongodb через aws lambda/api-gateway, в идеале я хотел бы аннулировать idToken при выходе из системы, чтобы позволить мне иметь несанкционированный флаг, если HTTP-запрос был сделан с последним idToken при выходе из системы или любыми предыдущими idTokens, если обновление было принужденный. Я протестировал предыдущие idTokens после обновления, и они по-прежнему действительны, пока не истечет срок их действия в хронологическом порядке.   -  person Jason    schedule 17.06.2017


Ответы (1)


Не существует API для аннулирования/отзыва идентификатора токена. Вам придется реализовать это несанкционированное поведение каким-то другим способом. Возможно, вы можете установить значение в базе данных Firebase при выходе из системы и искать его при последующих вызовах. Для полноты приведем несколько предыдущих дискуссий на эту тему:

https://groups.google.com/forum/#!topic/firebase-talk/hPNd5-RNgBs Как отозвать токен аутентификации?

person Hiranya Jayathilaka    schedule 17.06.2017