Я пытаюсь использовать один и тот же токен (сгенерированный на стороне сервера — PHP) для аутентификации пользователя в веб-приложении (JS) и iOS-приложении (SDK). Вот шаги, которые я делаю для авторизации пользователя:
Я использую с использованием рекомендуемой библиотеки https://github.com/firebase/firebase-token-generator-php:
$generator = new TokenGenerator($firebaseSecret);
$token = $generator->setOption('expires', strtotime('+1 day'))
->setData(array('uid' => $user->id))
->create();
используйте токен для авторизации пользователя через Javascript:
ref.authWithCustomToken(token, registerHandler);
registerHandler: function(error, authData)
{
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Login Success!");
}
Все работает правильно, ПЕРВЫЙ раз, пользователь вошел в систему и готов к работе. (Сессия Firebase установлена на 1 год)
Тем не мение:
Может кто-нибудь поделиться некоторым светом в этой ситуации? Любая помощь будет оценена.
Я сам нашел проблему, в конце концов. Я опубликую это здесь, чтобы будущие разработчики избежали проблемы, с которой я столкнулся.
Будьте всегда осторожны с тем, где вы храните свои данные. Мои токены были сохранены в БД, в столбце типа varchar, но они были больше, чем 256 символов, поэтому они не были сохранены должным образом. После смены типа колонки все заработало без нареканий.
Других решений пока нет …