2

问题:

使用 Firebase Admin SDK 撤销刷新令牌所需的凭据实现是什么


设想

我有一个执行以下代码的云函数:

云功能代码:

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 成员:

在此处输入图像描述

在阅读了有关如何撤销刷新令牌的管理用户会话文档后,我无法准确找到 firebase-admin 所需的凭据,以便允许它撤销刷新令牌。

4

0 回答 0