Ben*_*906 46 firebase firebase-authentication
我已成功设置Firebase电子邮件/密码身份验证,但出于安全考虑,我希望用户确认她/他的电子邮件.它在Firebases网站上说:
当用户使用电子邮件地址和密码注册时,会发送确认电子邮件以验证其电子邮件地址.
但是当我注册时,我没有收到确认电子邮件.
我看过,只能找到发送密码重置电子邮件的代码,但不能找到发送电子邮件确认的代码.
我看过这里:
https://firebase.google.com/docs/auth/ios/manage-users#send_a_password_reset_email
有谁知道我怎么做?
Xav*_*ong 102
我注意到新的Firebase电子邮件身份验证文档未正确记录.
firebase.auth().onAuthStateChanged(function(user) {
user.sendEmailVerification();
});
Run Code Online (Sandbox Code Playgroud)
请注意:
检查电子邮件是否已经过验证:
firebase.auth().onAuthStateChanged(function(user) {
if (user.emailVerified) {
console.log('Email is verified');
}
else {
console.log('Email is not verified');
}
});
Run Code Online (Sandbox Code Playgroud)
创建用户后,将返回User对象,您可以在其中检查用户的电子邮件是否已经过验证.
当用户未经过验证时,您可以在用户对象本身上触发sendEmailVerification方法.
firebase.auth()
.createUserWithEmailAndPassword(email, password)
.then(function(user){
if(user && user.emailVerified === false){
user.sendEmailVerification().then(function(){
console.log("email verification sent to user");
});
}
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorCode, errorMessage);
});
Run Code Online (Sandbox Code Playgroud)
您还可以通过收听AuthState进行检查,以下方法存在的问题是,每次新会话(通过刷新页面)都会发送新的电子邮件.
firebase.auth().onAuthStateChanged(function(user) {
user.sendEmailVerification();
});
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以发送验证电子邮件并检查是否已按以下方式验证到 AuthListener:
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
//---- HERE YOU CHECK IF EMAIL IS VERIFIED
if (user.isEmailVerified()) {
Toast.makeText(LoginActivity.this,"You are in =)",Toast.LENGTH_LONG).show();
}
else {
//---- HERE YOU SEND THE EMAIL
user.sendEmailVerification();
Toast.makeText(LoginActivity.this,"Check your email first...",Toast.LENGTH_LONG).show();
}
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
}
// [START_EXCLUDE]
updateUI(user);
// [END_EXCLUDE]
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31966 次 |
| 最近记录: |