要自动从Firebase身份验证中删除不活跃的用户,您可以使用Firebase的云函数来定期运行删除操作。下面是一个示例代码,演示如何使用云函数删除Firebase身份验证中的不活跃用户:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.deleteInactiveUsers = functions.https.onRequest(async (req, res) => {
const inactiveUsers = await admin.auth().listUsers();
const currentTime = Date.now();
inactiveUsers.users.forEach(async (user) => {
const lastSignInTime = user.metadata.lastSignInTime;
const lastSignInTimestamp = new Date(lastSignInTime).getTime();
// 当用户最后一次登录时间超过90天时,删除用户
if ((currentTime - lastSignInTimestamp) > (90 * 24 * 60 * 60 * 1000)) {
await admin.auth().deleteUser(user.uid);
}
});
res.status(200).send('Inactive users deleted successfully');
});
npm install firebase-admin firebase-functions
命令来安装所需的依赖项。现在,每当您访问部署的云函数的URL时,它将列出不活跃的用户,并删除最后一次登录时间超过90天的用户。
请注意,此示例代码仅删除Firebase身份验证中的用户,而不删除与其关联的其他数据。如果您还需要删除与用户相关的其他数据,请在删除用户之前执行相应的数据清理操作。