Как я могу войти в систему как другой пользователь в Firebase PHP со свежеотчеканенным токеном?

#javascript #php #firebase-authentication

#javascript #php #firebase-аутентификация

Вопрос:

У меня есть веб-сайт Javascript, использующий аутентификацию Firebase, и я хотел бы иметь возможность входить в этот интерфейс, как если бы я был другим пользователем. Используя библиотеку PHP Kreait, я могу создать токен для определенного uid с помощью:

$firebase->getAuth()->createCustomToken($firebaseId)

Затем я могу опубликовать этот пользовательский токен в конечной точке REST следующим образом:

https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=MYKEY
POST fields: token={$customToken}amp;returnSecureToken=true

..и я получаю действительный токен аутентификации Firebase. Пока все хорошо, но теперь, когда я пытаюсь использовать этот токен для входа в Javascript следующим образом:

firebase.auth().signInWithCustomToken(firebaseToken)

.. Я получаю «auth / invalid-custom-token Пользовательский формат токена неверно форматирует сайт«.

Что я делаю не так?

Спасибо!

Комментарии:

1. В вашем коде может быть много ошибок, которые могут произойти в период между получением токена из REST API и передачей его в JS API. Не могли бы вы поделиться дополнительным кодом вместе с деталями отладки (такими как ведение журнала), которые иллюстрируют, как данные передаются из одного места в другое?

2. Итак, просто переход от заголовка «войдите как другой пользователь» немедленно вызывает красные флаги с точки зрения безопасности.