对自定义电子邮件使用firebase电子邮件验证

对自定义电子邮件使用firebase电子邮件验证,firebase,firebase-authentication,email-verification,Firebase,Firebase Authentication,Email Verification,我使用的是爱奥尼亚3和firebase认证,使用的是facebook。如果用户在注册时没有提供电子邮件id或根本没有验证,facebook不会返回电子邮件id 我们的系统要求提供电子邮件id。因此,作为一种回退,我们会提示用户提供电子邮件id。由于我们允许用户在此步骤手动提供电子邮件id,因此需要对其进行验证 firebase auth SendEmailVerifAction似乎需要身份验证中已有的电子邮件id。由于我们的案例专门处理丢失的邮件,因此我们如何使用此功能验证电子邮件id 我们也欢

我使用的是爱奥尼亚3和firebase认证,使用的是facebook。如果用户在注册时没有提供电子邮件id或根本没有验证,facebook不会返回电子邮件id

我们的系统要求提供电子邮件id。因此,作为一种回退,我们会提示用户提供电子邮件id。由于我们允许用户在此步骤手动提供电子邮件id,因此需要对其进行验证

firebase auth SendEmailVerifAction似乎需要身份验证中已有的电子邮件id。由于我们的案例专门处理丢失的邮件,因此我们如何使用此功能验证电子邮件id

我们也欢迎任何其他想法来处理它。这对我们来说是一个关键的拦路虎,因为人们通过提供虚假的电子邮件ID滥用我们的奖励系统

我查看了SendEmailVerificationAPI,但它似乎不接受任何参数来手动传递电子邮件id

constructor(public navCtrl: NavController, 
              public navParams: NavParams,
              private afAuth: AngularFireAuth,
              private fb: Facebook, 
              private platform: Platform,
              private core:CoreProvider,
              public viewCtrl: ViewController,
              private ddlSvc: DoodleDataProvider,
              private alertCtrl:AlertController,
              private toastCtrl: ToastController) {
                
                //block back button on android
                platform.registerBackButtonAction(() => {
                            
                },1);

                afAuth.authState.subscribe(user => {
                  console.log("auth subscription finished: with user:" + JSON.stringify(user))

                  //go back if user could not be retrieved or manual logout is set to true
                  if (!user || core.manualLogout == true) {   
                    return;
                  }

                  user.sendEmailVerfication() //problem here when email is null
                  console.log("initializing user")
                  this.createUser(user.uid)
                });
  }

电子邮件验证仅适用于以下用户:。目的是验证用户在注册时是否提供了有效的电子邮件地址。您通常希望在使用
firebase.auth().createUserWithEmailAndPassword()登录用户后使用电子邮件验证


电子邮件验证不适用于其他身份验证提供商(如Facebook),因为他们有自己的方式来管理其用户的电子邮件地址。

电子邮件验证仅适用于以下用户:
。目的是验证用户在注册时是否提供了有效的电子邮件地址。您通常希望在使用
firebase.auth().createUserWithEmailAndPassword()登录用户后使用电子邮件验证


电子邮件验证不适用于其他身份验证提供商(如Facebook),因为他们有自己的方式来管理用户的电子邮件地址。

为他们创建一个电子邮件+密码帐户,然后呢?完成此操作后,您可以使用
sendmailverification
发送验证消息。我们的客户端应用程序基于爱奥尼亚3,是一款面包店应用程序,我们希望在用户登录和帐户方面保持最简单。所以我们喜欢在facebook上使用一键登录的想法。现在,用询问电子邮件和密码的要求来代替它是客户不会高兴的事情。是否有一种变通方法,比如在后台使用提供的电子邮件和默认密码创建带有电子邮件和密码的帐户,然后发送验证链接?基本上,只有当fb不给我们时,我们才需要验证电子邮件。我们希望用户体验保持不变。您可以生成一个随机密码。我不会使用默认密码,因为这意味着任何知道密码的人都可以登录每个帐户。我理解默认密码的风险。但我的目的是使用这个email+pwd机制,以便在某些情况下能够使用sendmailverification链接。我总是想强迫用户使用facebook登录。你认为这样行吗?为他们创建一个电子邮件+密码帐户,然后呢?完成此操作后,您可以使用
sendmailverification
发送验证消息。我们的客户端应用程序基于爱奥尼亚3,是一款面包店应用程序,我们希望在用户登录和帐户方面保持最简单。所以我们喜欢在facebook上使用一键登录的想法。现在,用询问电子邮件和密码的要求来代替它是客户不会高兴的事情。是否有一种变通方法,比如在后台使用提供的电子邮件和默认密码创建带有电子邮件和密码的帐户,然后发送验证链接?基本上,只有当fb不给我们时,我们才需要验证电子邮件。我们希望用户体验保持不变。您可以生成一个随机密码。我不会使用默认密码,因为这意味着任何知道密码的人都可以登录每个帐户。我理解默认密码的风险。但我的目的是使用这个email+pwd机制,以便在某些情况下能够使用sendmailverification链接。我总是想强迫用户使用facebook登录。你认为这样行吗?我可以用默认密码和用户提供的电子邮件解决一些问题吗?基本上,我只需要在fb不给我回电子邮件的情况下进行验证。因此,在这些情况下,我需要一种发送验证电子邮件的方法。但是,对于所有用户来说,登录体验必须与使用facebook sign.No时相同。正如我所说,电子邮件验证只针对电子邮件/密码验证。我可以用默认密码和用户提供的电子邮件解决一些问题吗?基本上,我只需要在fb不给我回电子邮件的情况下进行验证。因此,在这些情况下,我需要一种发送验证电子邮件的方法。但是,对于所有用户来说,登录体验必须与使用facebook sign.No时相同。正如我所说,电子邮件验证仅用于电子邮件/密码验证。