Javascript 一旦用户从auth firebase服务中删除,如何注销所有会话?
我为Firebase函数编写了以下代码:Javascript 一旦用户从auth firebase服务中删除,如何注销所有会话?,javascript,firebase,firebase-authentication,google-cloud-functions,Javascript,Firebase,Firebase Authentication,Google Cloud Functions,我为Firebase函数编写了以下代码: exports.deleteVolunteer = functions.firestore.document(`${COLLECTION_PREFIX}/users/{userPhoneNumber}`).onDelete(async (snap, context) => { const userPhoneNumber = context.params.userPhoneNumber; try { const use
exports.deleteVolunteer = functions.firestore.document(`${COLLECTION_PREFIX}/users/{userPhoneNumber}`).onDelete(async (snap, context) => {
const userPhoneNumber = context.params.userPhoneNumber;
try {
const userRecord = await admin.auth().getUserByPhoneNumber(userPhoneNumber);
await admin.auth().deleteUser(userRecord.uid);
console.log('Successfully deleted user with phone number: ' + userPhoneNumber);
} catch (error) {
console.log('Failed to delete user with phone number: ' + userPhoneNumber + ' with error ' + error);
}
return null;
});
基本上,一旦它看到一些文档在云数据库中被删除,它就会将用户从auth服务中删除。我想退出该用户登录的所有设备的所有会话。正如您所见,用户使用电话号码连接到应用程序。如何操作?当用户登录Firebase身份验证时,他们会得到一个有效期为一小时的ID令牌。在该令牌过期之前,无法撤销它-至少在不更改用于对所有令牌进行签名的密钥的情况下 这意味着服务器无法立即终止现有会话 相反,即时锁定用户的常用方法是: