public async Task <bool> SendEmailVerificationAsync() { try { var user = _firebaseAuth.CurrentUser; if (user != null) { if (user.IsEmailVerified) { return(false); } var actionCodeSettings = ActionCodeSettings.NewBuilder() .SetAndroidPackageName(Android.App.Application.Context.PackageName, false, "0") .Build(); await user .SendEmailVerificationAsync(actionCodeSettings); return(true); } return(false); } catch (Exception ex) { _loggerService.LogException(ex.Message); return(false); } }
/// <summary> /// Resets the pass. /// </summary> /// <param name="email">The email.</param> /// <returns>returns task</returns> public async Task ResetPass(string email) { using (var actioncode = ActionCodeSettings.NewBuilder().SetAndroidPackageName(PackageName, true, "0").Build()) { await FirebaseAuth.Instance.SendPasswordResetEmailAsync(email); } }
private EmailActionLinkRequest(string type, string email, ActionCodeSettings settings) { if (string.IsNullOrEmpty(email)) { throw new ArgumentException("Email cannot be null or empty."); } if (type == EmailSignIn && settings == null) { throw new ArgumentNullException( "ActionCodeSettings must not be null when generating sign in links"); } this.RequestType = type; this.Email = email; if (settings != null) { this.Url = settings.Url; this.HandleCodeInApp = settings.HandleCodeInApp; this.DynamicLinkDomain = settings.DynamicLinkDomain; this.IosBundleId = settings.IosBundleId; this.AndroidPackageName = settings.AndroidPackageName; this.AndroidMinimumVersion = settings.AndroidMinimumVersion; this.AndroidInstallApp = settings.AndroidInstallApp; this.ValidateSettings(); } }
private static ActionCodeSettings CreateActionCodeSettings() { var settings = new ActionCodeSettings(); settings.Url = "https://playground-24cec.firebaseapp.com"; settings.HandleCodeInApp = true; settings.IOSBundleId = "com.tobishiba.playground"; settings.SetAndroidPackageName("com.tobishiba.playground", true, "21"); return(settings); }
public async Task <string> AddUserWithEmailPassword(string email, string password) { var response = await FirebaseAuth.Instance.CreateUserWithEmailAndPasswordAsync(email, password); using (var user = response.User) using (var actionCode = ActionCodeSettings.NewBuilder().SetAndroidPackageName(PackageName, true, "0").Build()) { await user.SendEmailVerificationAsync(actionCode); } return(response.User.Uid); }
public async Task TestSingInAndVerification(string email, string password) { // запрос входа польователя с адресом и паролем var authResult = await FirebaseAuth.Instance.SignInWithEmailAndPasswordAsync(email, password); // получение токена var getTokenResult = await authResult.User.GetIdTokenAsync(false); var token = getTokenResult.Token; await FirebaseAuth.Instance.CurrentUser.SendEmailVerificationAsync(ActionCodeSettings.NewBuilder().Build()); }
public async Task <string> RegsiterWithEmailPassword(string email, string password) { var authResult = await Firebase.Auth.FirebaseAuth.Instance.CreateUserWithEmailAndPasswordAsync(email, password); using (var user = authResult.User) using (var actionCode = ActionCodeSettings.NewBuilder().SetAndroidPackageName(ApplicationProperties.ApplicationId, true, "0").Build()) { await user.SendEmailVerificationAsync(actionCode); } var token = await authResult.User.GetIdTokenAsync(false); return(token.Token); }
public void InvalidActionCodeSettings(ActionCodeSettings settings) { var handler = new MockMessageHandler() { Response = GenerateEmailLinkResponse }; var auth = this.CreateFirebaseAuth(handler); var email = "*****@*****.**"; Assert.ThrowsAsync <ArgumentException>( async() => await auth.GenerateEmailVerificationLinkAsync(email, settings)); Assert.ThrowsAsync <ArgumentException>( async() => await auth.GeneratePasswordResetLinkAsync(email, settings)); }
internal static ActionCodeSettings InitActionCodeSettings() { // [START init_action_code_settings] var actionCodeSettings = new ActionCodeSettings() { Url = "https://www.example.com/checkout?cartId=1234", HandleCodeInApp = true, IosBundleId = "com.example.ios", AndroidPackageName = "com.example.android", AndroidInstallApp = true, AndroidMinimumVersion = "12", DynamicLinkDomain = "coolapp.page.link", }; // [END init_action_code_settings] return(actionCodeSettings); }
/// <summary> /// Signs up with email password. /// </summary> /// <param name="email">The email.</param> /// <param name="password">The password.</param> /// <returns> /// returns string /// </returns> public async Task <string> SignUpWithEmailPassword(string email, string password) { try { //// Allows the user to create and sign up with user inputs using firebase var authResult = await FirebaseAuth.Instance.CreateUserWithEmailAndPasswordAsync(email, password); using (var user = authResult.User) //// Sending the email verification after sign up using (var actionCode = ActionCodeSettings.NewBuilder().SetAndroidPackageName(PackageName, true, "0").Build()) { await user.SendEmailVerificationAsync(actionCode); } return(authResult.User.Uid); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } }
private void EmailSignUpGo_Clicked(object sender, EventArgs e) { try { FirebaseOptions options = new FirebaseOptions.Builder() .SetApiKey("AIzaSyBnw6unIyRQ4XfFZNekTpU7rWumSvv5cnw") .SetApplicationId("1:316655980255:android:05c55f9b9a1c0243") .Build(); FirebaseApp App = FirebaseApp.Instance ?? FirebaseApp.InitializeApp(Activity, options); ActionCodeSettings actionCodeSettings = ActionCodeSettings.NewBuilder() .SetUrl("https://cycles.page.link/tc4X") .SetHandleCodeInApp(true) .SetAndroidPackageName(Activity.PackageName, true, null) .Build(); FirebaseAuth auth = FirebaseAuth.GetInstance(App); if (auth.CurrentUser != null) { auth.SignOut(); } var email = EmailSignUpLayout?.FindViewById <EditText>(Resource.Id.emailEditText).Text; auth.SendSignInLinkToEmail(email, actionCodeSettings) .AddOnSuccessListener(this) .AddOnCompleteListener(this) .AddOnFailureListener(this); } catch (System.Exception ex) { Log.Error(Tag, "Error occured", ex); Crashlytics.Crashlytics.LogException(Throwable.FromException(ex)); } }
public System.Threading.Tasks.Task SendPasswordResetEmailAsync(string email, ActionCodeSettings settings) { return(SendPasswordResetEmail(email, settings).AsAsync()); }
public System.Threading.Tasks.Task SendEmailVerificationAsync(ActionCodeSettings settings) { return(SendEmailVerification(settings).AsAsync()); }
internal static EmailActionLinkRequest EmailSignInLinkRequest( string email, ActionCodeSettings settings) { return(new EmailActionLinkRequest(EmailSignIn, email, settings)); }
internal static EmailActionLinkRequest PasswordResetLinkRequest( string email, ActionCodeSettings settings) { return(new EmailActionLinkRequest(PasswordReset, email, settings)); }
internal static EmailActionLinkRequest EmailVerificationLinkRequest( string email, ActionCodeSettings settings) { return(new EmailActionLinkRequest(VerifyEmail, email, settings)); }