using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal { // Token: 0x0200003D RID: 61 internal class LoginModel : LoginModel where TUser : class { // Token: 0x0600013B RID: 315 RVA: 0x00004323 File Offset: 0x00002523 public LoginModel(SignInManager signInManager, ILogger logger) { this._signInManager = signInManager; this._logger = logger; } // Token: 0x0600013C RID: 316 RVA: 0x0000433C File Offset: 0x0000253C public override async Task OnGetAsync(string returnUrl = null) { if (!string.IsNullOrEmpty(base.ErrorMessage)) { base.ModelState.AddModelError(string.Empty, base.ErrorMessage); } returnUrl = (returnUrl ?? base.Url.Content("~/")); await base.HttpContext.SignOutAsync(IdentityConstants.ExternalScheme); base.ExternalLogins = (await this._signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); base.ReturnUrl = returnUrl; } // Token: 0x0600013D RID: 317 RVA: 0x0000438C File Offset: 0x0000258C public override async Task OnPostAsync(string returnUrl = null) { returnUrl = (returnUrl ?? base.Url.Content("~/")); IEnumerable source = await this._signInManager.GetExternalAuthenticationSchemesAsync(); base.ExternalLogins = source.ToList(); IActionResult result; if (base.ModelState.IsValid) { SignInResult signInResult = await this._signInManager.PasswordSignInAsync(base.Input.Email, base.Input.Password, base.Input.RememberMe, false); if (signInResult.Succeeded) { this._logger.LogInformation("User logged in.", Array.Empty()); result = this.LocalRedirect(returnUrl); } else if (signInResult.RequiresTwoFactor) { result = this.RedirectToPage("./LoginWith2fa", new { ReturnUrl = returnUrl, RememberMe = base.Input.RememberMe }); } else if (signInResult.IsLockedOut) { this._logger.LogWarning("User account locked out.", Array.Empty()); result = this.RedirectToPage("./Lockout"); } else { base.ModelState.AddModelError(string.Empty, "Invalid login attempt."); result = this.Page(); } } else { result = this.Page(); } return result; } // Token: 0x04000077 RID: 119 private readonly SignInManager _signInManager; // Token: 0x04000078 RID: 120 private readonly ILogger _logger; } }