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(); } }
/// <summary> /// Generates the out-of-band email action link for email link sign-in flows for the /// specified email address. /// </summary> /// <exception cref="FirebaseAuthException">If an error occurs while generating the link.</exception> /// <param name="email">The email of the user signing in.</param> /// <param name="settings">The action code settings object that defines whether /// the link is to be handled by a mobile app and the additional state information to be /// passed in the deep link.</param> /// <param name="cancellationToken">A cancellation token to monitor the asynchronous /// operation.</param> /// <returns>A task that completes with the email sign in link.</returns> public async Task <string> GenerateSignInWithEmailLinkAsync( string email, ActionCodeSettings settings, CancellationToken cancellationToken) { var userManager = this.IfNotDeleted(() => this.userManager.Value); var request = EmailActionLinkRequest.EmailSignInLinkRequest(email, settings); return(await userManager.GenerateEmailActionLinkAsync(request, cancellationToken) .ConfigureAwait(false)); }
/// <summary> /// Generates the out-of-band email action link for email link sign-in flows for the /// specified email address. /// </summary> /// <exception cref="FirebaseAuthException">If an error occurs while generating the link.</exception> /// <param name="email">The email of the user signing in.</param> /// <param name="settings">The action code settings object that defines whether /// the link is to be handled by a mobile app and the additional state information to be /// passed in the deep link.</param> /// <returns>A task that completes with the email sign in link.</returns> public async Task <string> GenerateSignInWithEmailLinkAsync( string email, ActionCodeSettings settings) { return(await this.GenerateSignInWithEmailLinkAsync(email, settings, default(CancellationToken)) .ConfigureAwait(false)); }
internal static EmailActionLinkRequest EmailVerificationLinkRequest( string email, ActionCodeSettings settings) { return(new EmailActionLinkRequest(VerifyEmail, email, settings)); }
internal static EmailActionLinkRequest PasswordResetLinkRequest( string email, ActionCodeSettings settings) { return(new EmailActionLinkRequest(PasswordReset, email, settings)); }
internal static EmailActionLinkRequest EmailSignInLinkRequest( string email, ActionCodeSettings settings) { return(new EmailActionLinkRequest(EmailSignIn, email, settings)); }