如何使用 Firebase Admin Node JS SDK 取消电子邮件与 Firebase 的链接
How to unlink Email from Firebase using Firebase Admin Node JS SDK
我正在尝试取消电子邮件与当前用户的链接,该用户有一个 Phone 号码和电子邮件已经链接到它。
这是我的工作:
admin.auth().updateUser("user uid", {
email: null,
password: null,
})
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully updated user', userRecord.toJSON());
})
.catch(function(error) {
console.log('Error removing email:', error);
});
但返回错误 The email address is improperly formatted.
出于某种原因,只有当我删除电子邮件时才会发生这种情况,当我为 phone 做同样的事情时它的工作:
admin.auth().updateUser("user uid", {
phoneNumber: null,
})
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully updated user', userRecord.toJSON());
})
.catch(function(error) {
console.log('Error removing phone number:', error);
});
以上代码有效,phone 被完美删除。但只有当我对电子邮件执行此操作时才会发生错误。
有什么想念的吗?
UpdateRequest#email
必须是 undefined
或有效的电子邮件地址。
UpdateRequest#password
必须是 undefined
或未经哈希处理的密码。
您或许可以使用:
admin.auth().updateUser("user uid", {
email: undefined,
password: undefined,
})
但是 unlinking 客户端上的 EmailAuthProvider 凭据通常更好。
firebase.auth().currentUser
.unlink(firebase.auth.EmailAuthProvider.PROVIDER_ID);
您可以使用 admin sdk 取消链接供应商 using the providersToUnlink
await auth.updateUser(user.uid, {
providersToUnlink: ['password'],
})
我正在尝试取消电子邮件与当前用户的链接,该用户有一个 Phone 号码和电子邮件已经链接到它。
这是我的工作:
admin.auth().updateUser("user uid", {
email: null,
password: null,
})
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully updated user', userRecord.toJSON());
})
.catch(function(error) {
console.log('Error removing email:', error);
});
但返回错误 The email address is improperly formatted.
出于某种原因,只有当我删除电子邮件时才会发生这种情况,当我为 phone 做同样的事情时它的工作:
admin.auth().updateUser("user uid", {
phoneNumber: null,
})
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully updated user', userRecord.toJSON());
})
.catch(function(error) {
console.log('Error removing phone number:', error);
});
以上代码有效,phone 被完美删除。但只有当我对电子邮件执行此操作时才会发生错误。
有什么想念的吗?
UpdateRequest#email
必须是 undefined
或有效的电子邮件地址。
UpdateRequest#password
必须是 undefined
或未经哈希处理的密码。
您或许可以使用:
admin.auth().updateUser("user uid", {
email: undefined,
password: undefined,
})
但是 unlinking 客户端上的 EmailAuthProvider 凭据通常更好。
firebase.auth().currentUser
.unlink(firebase.auth.EmailAuthProvider.PROVIDER_ID);
您可以使用 admin sdk 取消链接供应商 using the providersToUnlink
await auth.updateUser(user.uid, {
providersToUnlink: ['password'],
})