public async Task <LoginResult> AuthenticateAsync(GoogleAccount account, RemoteUser user) { bool validationResult = Task.Run(() => this.ValidateAsync(account.Token)).GetAwaiter().GetResult(); if (!validationResult) { return(new LoginResult { Status = false, Message = Resources.AccessIsDenied }); } var gUser = new GoogleUserInfo { Email = account.Email, Name = account.Name }; var result = await GoogleSignIn.SignInAsync(this.Tenant, account.Email, account.OfficeId, account.Name, account.Token, user.Browser, user.IpAddress, account.Culture).ConfigureAwait(false); if (result.Status) { if (!await Registrations.HasAccountAsync(this.Tenant, account.Email).ConfigureAwait(false)) { string template = "~/Tenants/{tenant}/Areas/Frapid.Account/EmailTemplates/welcome-email-other.html"; var welcomeEmail = new WelcomeEmail(gUser, template, ProviderName); await welcomeEmail.SendAsync(this.Tenant).ConfigureAwait(false); } } return(result); }