【问题标题】:Xamarin Firebase Sending Email VerificationXamarin Firebase 发送电子邮件验证
【发布时间】:2018-12-30 04:52:48
【问题描述】:

注册帐户后如何在 Xamarin 上发送电子邮件验证的好日子我正在使用此代码,但在 sendEmailVerification 它说 FirebaseAuth 没有定义 sendEmailVerification

我该如何解决这个问题?

private void LoginUser(string email, string password){

   if (input_password.Text == reinput_password.Text){

        auth.CreateUserWithEmailAndPassword(email, password)

          .AddOnCompleteListener(this, this);


        auth.sendEmailVerification(email)

           .AddOnCompleteListener(this, this);

    }

}

【问题讨论】:

    标签: c# android firebase xamarin firebase-authentication


    【解决方案1】:

    SendEmailVerification(Async)FirebaseUser 实例上的方法:

    示例(使用 Xamarin 异步包装器):

    auth = FirebaseAuth.Instance;
    using (var authResult = await auth.CreateUserWithEmailAndPasswordAsync("so@sushi.com", "stackoverflow"))
    using (var user = authResult.User)
    using (var actionCode = ActionCodeSettings.NewBuilder().SetAndroidPackageName(PackageName,true, "0").Build())
    {
        await user.SendEmailVerificationAsync(actionCode);
    }
    

    【讨论】:

    • 所以我必须先创建 firebaseUser 才能发送验证?
    • @BogartPoe 当您调用CreateUserWithEmailAndPassword|Async 时会创建一个用户,您只需使用返回的用户即可。注意:如果您尝试通过“电子邮件链接”验证用户,那是完全不同的事情。
    • 是的,我希望用户验证是否通过电子邮件发送给他们的链接我该怎么做?
    【解决方案2】:

    我的代码有效,但有问题 IsEmailVerified 始终为假

    var authProvider = new FirebaseAuthProvider(new FirebaseConfig(webapi));
    
                            var auth = await authProvider.SignInWithEmailAndPasswordAsync(emailtxt.Text, passwordtxt.Text);
                            string gettoken = auth.FirebaseToken;
                            var content = await auth.GetFreshAuthAsync();
                            var serializedcontnet = JsonConvert.SerializeObject(content);
                            Preferences.Set("MyFirebaseRefreshToken", serializedcontnet);
    
                            if(content.User.IsEmailVerified == false)
                            {
                               var action = await App.Current.MainPage.DisplayAlert("Alert", "Your Email not activated,Do You want to Send Activation Code again?!", "Yes","No");
    
                                if(action)
                                {
                                    await authProvider.SendEmailVerificationAsync(gettoken);
                                }
    
                            }
    

    【讨论】:

      猜你喜欢
      • 2019-06-24
      • 2018-11-21
      • 2017-09-09
      • 2018-01-01
      • 2020-12-12
      • 2020-08-06
      • 2017-03-17
      • 2019-03-13
      • 2018-08-07
      相关资源
      最近更新 更多