Вопрос:
Что такое реализация учетных данных, необходимая для отзыва обновленных токенов с помощью Firebase Admin SDK
Сценарий
У меня есть облачная функция, которая выполняетследующий код:
CloudFunctionCode:
const admin = require('firebase-admin')
try { admin.initializeApp() } catch (e) { console.log(e) }
//...Irrelevant code in between...
function getRevokeRefreshTokens(request, response) {
try { admin.initializeApp() } catch (e) { console.log(e) }
admin.auth().revokeRefreshTokens('Oe4IXqqZj1b1fsfPYFjft0tebs11')
.then(() => {
return admin.auth().getUser('Oe4IXqqZj1b1fsfPYFjft0tebs11');
})
.then((userRecord) => {
return new Date(userRecord.tokensValidAfterTime).getTime() / 1000;
})
.then((timestamp) => {
console.log("Tokens revoked at: ", timestamp);
return response.status(200).send(
"Tokens revoked at: ", timestamp
)
});
}
Ошибка журнала из облачной функции:
Error: Credential implementation provided to initializeApp() via the "credential" property has insufficient permission to access the requested resource. See https://firebase.google.com/docs/admin/setup for details on how to authenticate this SDK with appropriate permissions.
at FirebaseAuthError.Error (native)
at FirebaseAuthError.FirebaseError [as constructor] (/user_code/node_modules/firebase-admin/lib/utils/error.js:39:28)
at FirebaseAuthError.PrefixedFirebaseError [as constructor] (/user_code/node_modules/firebase-admin/lib/utils/error.js:85:28)
at new FirebaseAuthError (/user_code/node_modules/firebase-admin/lib/utils/error.js:143:16)
at Function.FirebaseAuthError.fromServerError (/user_code/node_modules/firebase-admin/lib/utils/error.js:182:16)
at /user_code/node_modules/firebase-admin/lib/auth/auth-api-request.js:818:49
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
Текущий член IAM с ролями:
После прочтения документов Управление сеансами пользователя о том, как отозвать токены обновления Iне могу найти точно, какие учетные данные мне нужны для firebase-admin, чтобы можно было отозвать обновленные токены.