Firebase Auth подтвердить этого пользователя - PullRequest
0 голосов
/ 03 августа 2020

В настоящее время я проверяю своего пользователя, используя вместе Auth JS SDK и Admin Auth SDK. Я использую следующий подход: В интерфейсе:

firebase.auth().onAuthStateChanged(function (user) {
  if (user) {
    var current_user = firebase.auth().currentUser;
    current_user.getIdToken(true).then(function (idToken) {
      $.getJSON('/firebase_token', { token: idToken }, function (user) {

В бэкенде:

router.get("/firebase_token", (req, res, next) => {
  admin.auth().verifyIdToken(req.query.token).then(function(decodedToken) {
    res.send(decodedToken);    
  })
})

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

Мне интересно, есть ли в SDK администратора. Есть способ определить текущего авторизованного пользователя. Другими словами, определить this user, кто использует this экземпляр приложения с административным SDK?

1 Ответ

1 голос
/ 03 августа 2020

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

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

Интересно, есть ли в админском SDK. Есть способ определить текущего авторизованного пользователя. Другими словами, определить этого пользователя, который использует этот экземпляр приложения с помощью административного SDK?

Нет, Admin SDK не может знать, что все происходит для всех пользователей, использующих ваше приложение. Идентификационный токен - это именно та информация, которая необходима для проверки пользователей. Действительный токен доказывает, что пользователь является тем, кем они себя называют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...