簡體   English   中英

Firebase 身份驗證:通過 Email 查找用戶

[英]Firebase Authentication : Lookup a user by Email

我正在使用Firebase 身份驗證與 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);
  });

檢索用戶數據

從 '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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM