2017-09-14 64 views
0

在接受的答案有人指出我應該我火力版本設置爲4.3.1的意見,不是我的最後一個版本4.2.0穿過狀態 - continueUrl

嗨,這應該是相當簡單,我正在關注以下文檔:firebase passing state in email actions以及changing the default email-handler

我正在查找在用戶驗證電子郵件後重定向到新URL。該網址已位於Firebase中已通過身份驗證的網域中。

我也已經有我actionCodeSettings:

var actionCodeSettings = { 
    url: 'http://myurl.io/join', 
    iOS: { 
     bundleId: 'com.myurl.ios' 
    }, 
    android: { 
     packageName: 'com.myurl.android', 
     installApp: false, 
     minimumVersion: '12' 
    }, 
    handleCodeInApp: false 
    }; 

    function sendEmailVerification() { 
    console.log('sendEmail Verification'); 
    firebase.auth().currentUser.sendEmailVerification(actionCodeSettings).then(function() { 
    }); 
    } 

如果我理解正確的話,我現在需要實現getParameterByName這是我從另一個答案找到。我的2個問題是:

1)默認操作URL是https://faros-fe2f5.firebaseapp.com/__/auth/action。我應該改變這個嗎?它會根據我的actionCodeSettings自動更改我猜

2)在行113我們有感興趣的功能,它需要通過getParameterByName檢索的參數。 continueUrl在這一點上怎麼叫?

我發現文檔在這個問題上有點模糊。在此階段,我希望在完成電子郵件驗證後重定向用戶

回答

3

1)默認動作URL爲https://faros-fe2f5.firebaseapp.com/__/auth/action。我應該改變這個嗎?它會根據我的actionCodeSettings自動更改我猜

如果要在自己的頁面中處理驗證鏈接,可以將其更改爲自己的鏈接,但只能在Firebase控制檯 - > Auth - >電子郵件模板部分

繼續URL('http://myurl.io/join')是將嵌入鏈接的continueUrl查詢參數中的最終重定向鏈接。通常在電子郵件驗證完成後,顯示一個繼續按鈕以轉到該鏈接。這可以從客戶端傳遞,並且必須是白名單域。

2)在第113行,我們有感興趣的功能,它採用通過getParameterByName檢索的參數。 continueUrl在這一點上怎麼叫?

如果您使用自己的電子郵件操作URL而不是上面的.../__/auth/action鏈接,則只需編寫該代碼。 您會在應用電子郵件驗證後,顯示一個繼續按鈕返回到該鏈接。

我建議您嘗試使用默認窗口小部件的流程,單擊鏈接,驗證電子郵件,然後單擊繼續按鈕。你可以模仿它,並建立你自己的自定義登陸頁面。

+0

嗨,感謝您的回覆 - 目前我已經得到了actionCodeSettings的url:myurl,並且我將actionCodeSettings作爲參數傳遞給:sendEmailVerification(actionCodeSettings)。但是,當我註冊時,我會收到一封電子郵件,其中重定向鏈接指向不帶按鈕的頁面,但標準爲「您現在可以使用您的帳戶對其進行簽名」。這是這個的截圖。 https://www.evernote.com/l/AVEfdIKh16hA7YvVNthOZOURI3cjX3V1AfA – van

+0

該鏈接是否包含continueUrl查詢參數? – bojeil

+0

另外請確保您使用的是最新的firebase JS版本。 – bojeil