Мне непонятно, как следует реализовывать проверку подлинности с помощью firebase в формуле GSuite.
Предположим, я разрабатываю формулу GSuite, которая должна работать со сторонним бэкэндом, запрашивающим данные и отображающим данные в таблицах Google.,Сторонний сервер требует токен Firebase ID как часть аутентификации Bearer .
Я знаю, как получить токен ID с помощью Firebase Authentication SDK во всплывающем окне HTML или на боковой панели.Я знаю, что токен ID истекает каждый час или около того и автоматически обновляется Firebase SDK .Проблема заключается в том, что при выполнении формулы у нее не может быть доступа к Firebase SDK (я ошибаюсь?), И поэтому он может использовать токен с истекшим сроком действия, который хранится где-то в пользовательском кэше.Более того, если электронная таблица открыта и пытается обновить данные, несмотря на то, что пользователь все еще находится в Firebase, формула не может выполнить вызов
firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) {
// Send token to your backend via HTTPS
// ...
}).catch(function(error) {
// Handle error
});
Каков "канонический" способ решения этой проблемы?
TL; DR Как было предложено Жан-Реми в принятом ответе на вопрос оЕсли нет возможности использовать предоставленные библиотеки, это использовать Firebase REST API напрямую.Существует API REST Firebase Auth и API REST доступа к БД Firebase , которые можно использовать.