#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. Не уверен, по токену вы ссылаетесь на токен-носитель?