![](/img/trans.png)
[英]How to register a user whose email contains a capital letter in Firebase Authentication
[英]Firebase Authentication : Lookup a user by Email
我想知道我是否可以通過 email “查找”用戶,同時也不能以用戶身份登錄
我想這樣做的原因是,僅使用 email 地址來確定我是否已經是系統的用戶
我查看了這個較舊的線程,但它似乎是 Firebase 的先前版本
是否可以在當前的 Firebase 中執行此操作,或者我的替代方法是保持此信息可用(並對所有人開放?)以確定給定的 email 是否是我系統的一部分?
我使用 fetchProvidersForEmail(email) ,如果結果返回為空數組,則該電子郵件尚未用於注冊。
firebase.auth().fetchProvidersForEmail(email) .then(providers => { if (providers.length === 0) { // this email hasn't signed up yet } else { // has signed up } });
使用電子郵件密碼創建用戶的新方法會返回一個值,無論給定的電子郵件地址是否已被使用。 看這里
您可以通過電子郵件查找用戶信息:
firebase.auth().getUserByEmail(email)
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully fetched user data:', userRecord.toJSON());
})
.catch(function(error) {
console.log('Error fetching user data:', error);
});
服務器端選項:
https://cloud.google.com/identity-platform/docs/reference/rest/v1/projects.accounts/lookup
發布 https://identitytoolkit.googleapis.com/v1/projects/{targetProjectId}/accounts:lookup
{ "email": ["rodneydangerfield@stackoverflow.kom"] }
從 'firebase/auth' 導入 { fetchSignInMethodsForEmail }
fetchSignInMethodsForEmail(auth, registerEamil).then((result) =>{
console.log("result", result);
if (result.length === 0) {
Navigate("/authentication/select_role/" +
registerEamil)
} else {
Navigate('/')
}
至於今天2021年11月18日,Firebase SDK沒有辦法通過email來獲取用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.