Могу ли я использовать аутентификацию Firebase для защиты данных на моем частном сервере? - PullRequest
0 голосов
/ 05 мая 2020

Из-за некоторых ограничений моего проекта мне нужно управлять своим сервером api и базой данных отдельно от firebase, однако ничто не мешает мне использовать их другие инструменты, такие как аналитика и, в данном конкретном случае, аутентификация.

I хотел спросить, возможен ли следующий сценарий:

  1. Я аутентифицирую пользователя в своем клиентском приложении с помощью их SDK
  2. Я отправляю соответствующие данные jwt в заголовках моего API

Могу ли я как-то проверить это на моем сервере, чтобы, по сути, избежать сложной службы аутентификации и вместо этого использовать firebase? Есть ли примеры, желательно для сервера NodeJS.

1 Ответ

1 голос
/ 05 мая 2020

Да, вы можете, это очень распространенный вариант использования, и аутентификация firebase была сделана с учетом такого использования. Как вы сказали, отправьте данные jwt в заголовках, затем на сервере вы подтвердите токен с помощью службы firebase:

var admin = require('firebase-admin');

admin.initializeApp(); //may require other steps, see last link

// idToken comes from the client app
admin.auth().verifyIdToken(idToken, true)//second argument is optional, checks whether the ID token was revoked
  .then(function(decodedToken) {
    let uid = decodedToken.uid;
    // ...
  }).catch(function(error) {
    // Handle error
  });

https://firebase.google.com/docs/auth/admin/verify-id-tokens

https://firebase.google.com/docs/reference/admin/node/admin.auth.Auth#verifyidtoken

https://firebase.google.com/docs/admin/setup

...