Есть ли способ получить токен аутентификации Firebase с помощью функции OnCall в эмуляторе облачных функций?

#javascript #firebase #firebase-authentication #google-cloud-functions #firebase-cli

#javascript #firebase #firebase-аутентификация #google-cloud-функции #firebase-cli

Вопрос:

Я новичок в функциях Firebase и пытаюсь аутентифицировать токен пользователя, вызывая функцию OnCall . Интересно, есть ли какой-либо способ получить токен для этой функции

Index.js

 const functions = require('firebase-functions');
exports.chat = require("./api/chat")
  

Chat.js

 exports.init = functions.https.onCall(async (data, context) => {
const key = JSON.parse(data)
console.log(`Starting chat listener to room: ${key}`)

admin.database().ref(`main/${key}/chat`).on('child_added', (snapshot) => {
    chat = snapshot.val()
    //Send obj chat to client
    //admin.messaging().send('test')
  })
})
  

Client.class

 chatInit(roomId).addOnCompleteListener(task -> {
            if (task.isSuccessful()) {
                Log.e("test", "" task.getResult());
                decodeOnline();
            }
        });

 public Task<String> chatInit(String key) {
    return zFunctions.getHttpsCallable("chat-init")
            .call(key)
            .continueWith(task -> (String) task.getResult().getData());
}
  

Примечание: я выполняю тесты на эмуляторах Firebase

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

1. Я не думаю, что аутентификация Firebase в настоящее время эмулируется. github.com/firebase/firebase-tools/issues/1677

2. Почему параметр контекста возвращает имя пользователя и uid, а токен — нет? Я делаю что-то не так?

3. Возможно, вы захотите отредактировать свой вопрос, чтобы более полно показать, что вы делаете, включая клиентский код, который вы используете для вызова этой функции, и все, что вы наблюдаете за функцией.

4. Отредактировано, я надеюсь, это легко понять

5. Не уверен, по токену вы ссылаетесь на токен-носитель?