有一兩件事你可以做的是做事情的註冊功能的回調函數,該函數註冊做回一個承諾。你可以做這樣的事情:
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(function(user) {
//I believe the user variable here is the same as firebase.auth().currentUser
//take the user to some form you want them to fill
})
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
不過,我真的不建議做這種方式,因爲客戶端代碼是不可靠的。想一想,如果用戶在填寫表單之前突然斷開連接,該怎麼辦?他們的數據在您的數據庫中不完整。因此,如果您這樣做,請在提交表單時在用戶個人資料中設置一個標誌,以便知道誰填充了詳細信息,誰不填寫。
另一個更好的方法是使用firebase雲功能。你可以在你的雲功能中擁有這樣的代碼。雲功能是用node.js編寫的,所以你不需要花時間在另一種語言上。
exports.someoneSignedUp = functions.auth.user().onCreate(event => {
// you can send them a cloud function to lead them to the detail information form
//or you can send them an welcome email which will also lead them to where you want them to fill detailed information
});
這種方式好多了,因爲您可以安全地假設您的雲服務器永遠不會關閉或受到威脅。有關雲功能的更多信息,請參閱他們的文檔:https://firebase.google.com/docs/functions/auth-events
我將用戶存儲在數據庫中,並帶有「onboarded」字段。我檢查了這一點,以確保它們在繼續使用之前已經上報。在此身份驗證狀態中沒有「開箱即用」功能。 – theblindprophet