#google-api #firebase-hosting #google-api-nodejs-client
#google-api #firebase-хостинг #google-api-nodejs-client
Вопрос:
Я пытаюсь получить токен доступа для доступа к API хостинга Firebase из учетной записи службы, как описано здесь .
Приведенный ниже код возвращает не access_token, а id_token, который не проходит проверку подлинности при попытке использовать API.
Что я делаю не так? Как я могу получить токен доступа?
const { google } = require("googleapis");
var serviceAccount = require("../functions/src/services/serviceAccountKey.json");
async function getAccessToken() {
try {
const jwtClient = new google.auth.JWT(
serviceAccount.client_email,
null,
serviceAccount.private_key,
["firebasehosting.googleapis.com"],
null
);
const credentials = await jwtClient.authorize();
console.log(credentials);
} catch (error) {
console.log(error);
}
}
getAccessToken();
Он возвращает объект учетных данных:
{
access_token: undefined,
token_type: 'Bearer',
expiry_date: undefined,
id_token: '...', // edited out
refresh_token: 'jwt-placeholder'
}
Ответ №1:
Для протокола, я наконец-то получил это.
Моя область действия токена была недействительной: я должен использовать https://www.googleapis.com/auth/firebase
Допустимые области перечислены здесь