Я использую Firebase в своем приложении Google Chrome. Поскольку у Chrome Apps нет домена и URL-адреса обратного вызова, мне нужно авторизовать его с помощью токена, а не всплывающего окна.Firebase authWithOAuthToken не работает
У меня возникли проблемы с получением authWithOAuthToken работать, даже в браузере.
В этом примере кода первый звонок authWithOAuthPopup работает, я получаю popupData, которая включает в себя информацию учетной записи github и мой токен. Проблема в том, что второй звонок authWithOAuthToken не работает. Я получаю сообщение об ошибке
db.authWithOAuthPopup("github", function(error, popupData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Authenticated successfully with payload: ", popupData);
console.log("Now attempting to Authorize with Token...");
db.authWithOAuthToken("github", popupData.token, function (err, tokenData) {
if (err) {
console.log("Login Failed!", err);
} else {
console.log("Authenticated successfully", tokenData);
}
});
}
});
Мой вывод консоли показывает первый вызов работает, и ошибка второго вызова:
bundle.js:20498 Authenticated successfully with payload: Object
Now attempting to Authorize with Token...
Login Failed! Error: Invalid authentication credentials provided.(…)
Как я могу получить authWithOAuthToken работать?
Это не имеет смысла. Почему это когда-нибудь понадобилось? Похож на проблему [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378) – Kato
Этот сокращенный тестовый пример успешно выполняет authWithOAuthoPopup и получает токен от этот обратный вызов. Однако, если я попытаюсь использовать этот токен в authWithOAuthToken, я получаю сообщение об ошибке. Мне нужно только authWithOAuthToken работать, потому что я собираюсь сделать этот звонок из приложения Chrome. Однако я никогда не видел, чтобы это работало. Я не могу заставить его работать даже в браузере ... даже после того, как я получу успешный токен ... как показано в этом примере. Я надеюсь, что ошибка будет воспроизведена с помощью этого кода ... Один вызов работает, а второй - не работает. Как я могу сделать второй вызов для авторизации? – Tabbyofjudah
Итак, вы тестируете модуль Firebase API; сторонняя библиотека? Или попытка протестировать созданный токен из Facebook? Оба кажутся лишними тестами. – Kato