Итак, я сделал этот очень простой метод, в котором я хочу войти в firebase, используя собственный токен.На данный момент это просто
export const createCustomToken = functions.region('europe-west1').https.onCall(async (data, context) => {
try {
const firebaseJWT = await authenticationProvider.createCustomToken()
console.log(firebaseJWT.toString())
} catch (err) {
throw new functions.https.HttpsError('internal', 'Something went wrong ');
}
});
Аутентификатор проверки подлинности выглядит следующим образом:
return firebase.admin.auth().createCustomToken("Some uid")
.then((token) => {
console.log("Did create custom token.");
return token;
}).catch((error) => {
console.log("Error creating custom token:" + error);
throw new firebase.functions.https.HttpsError('internal', 'createCustomToken(uid) has failed for some reason');
})
}
Я пытался использовать метод оболочки, чтобы запустить его локально, выполнив эту строку в командной строке: firebase functions: shell и затем вызывает authenticationController.createCustomToken ({})
, который просто дает мне этот ответ: Ошибка создания пользовательского токена: Ошибка: Не удалось определить учетную запись службы.Обязательно инициализируйте SDK с учетными данными учетной записи службы.Также можно указать учетную запись службы с разрешением iam.serviceAccounts.signBlob.Исходная ошибка: Ошибка: Ошибка при выполнении запроса: getaddrinfo ENOTFOUND метаданные метаданных: 80.Код ошибки: ENOTFOUND
У служебной учетной записи, похоже, правильные роли, поэтому я не думаю, что в этом проблема.
Поэтому мне было интересно, можно ли как-нибудь вызвать меня createCustomToken(), например, из Postman, и посмотреть ответ, чтобы я мог правильно протестировать свой код, не заставляя приложение реализовать метод onCall для просмотра результатов?
Или чего мне не хватает, чтобы выполнить это через базу данных огняфункции: команда оболочки?