public async Task <IActionResult> LoginQrCode(string userId, string returnUrl, string pincodeInput) { var context = await _interaction.GetAuthorizationContextAsync(returnUrl); var user = await _userManager.FindByIdAsync(userId); if (user.Pincode != HashEncoder.GetHashString(pincodeInput)) { return(await QrCodeError(returnUrl)); } await _signInManager.SignInAsync(user, true); await _events.RaiseAsync(new UserLoginSuccessEvent(user.UserName, user.Id, user.UserName)); if (context != null) { if (await _clientStore.IsPkceClientAsync(context.ClientId)) { return(View("Redirect", new RedirectViewModel { RedirectUrl = returnUrl })); } // we can trust model.ReturnUrl since GetAuthorizationContextAsync returned non-null return(Redirect(returnUrl)); } // request for a local page if (Url.IsLocalUrl(returnUrl)) { return(Redirect(returnUrl)); } return(string.IsNullOrEmpty(returnUrl) ? Redirect("~/") : null); }
public static async Task Initialize(ApplicationDbContext context, UserManager <ApplicationUser> userManager, RoleManager <ApplicationRole> roleManager) { context.Database.EnsureCreated(); var employerRole = "Employer"; var personRole = "Person"; var password = "******"; if (await roleManager.FindByNameAsync(employerRole) == null) { await roleManager.CreateAsync(new ApplicationRole(employerRole)); } if (await roleManager.FindByNameAsync(personRole) == null) { await roleManager.CreateAsync(new ApplicationRole(personRole)); } if (await userManager.FindByNameAsync("SiebeCorstjens") == null) { var user = new ApplicationUser { Id = "1", UserName = "******", FirstName = "Siebe", LastName = "Corstjens", Email = "*****@*****.**", PhoneNumber = "0490634251", QrCode = Guid.NewGuid(), Pincode = HashEncoder.GetHashString("1000"), }; var result = await userManager.CreateAsync(user); if (result.Succeeded) { await userManager.AddPasswordAsync(user, password); await userManager.AddToRoleAsync(user, employerRole); } } if (await userManager.FindByNameAsync("LiesbethVandevenne") == null) { var user = new ApplicationUser { Id = "2", UserName = "******", FirstName = "Liesbeth", LastName = "Vandevenne", Email = "*****@*****.**", PhoneNumber = "0478812257", QrCode = Guid.NewGuid(), Pincode = HashEncoder.GetHashString("1000"), }; var result = await userManager.CreateAsync(user); if (result.Succeeded) { await userManager.AddPasswordAsync(user, password); await userManager.AddToRoleAsync(user, employerRole); } } if (await userManager.FindByNameAsync("LornaDeVroom") == null) { var user = new ApplicationUser { Id = "3", UserName = "******", FirstName = "Lorna", LastName = "De Vroom", Email = "*****@*****.**", PhoneNumber = "0474267406", QrCode = Guid.NewGuid(), Pincode = HashEncoder.GetHashString("9999"), }; var result = await userManager.CreateAsync(user); if (result.Succeeded) { await userManager.AddPasswordAsync(user, password); await userManager.AddToRoleAsync(user, personRole); } } if (await userManager.FindByNameAsync("MyriamDekens") == null) { var user = new ApplicationUser { Id = "4", UserName = "******", FirstName = "Myriam", LastName = "Dekens", Email = "*****@*****.**", PhoneNumber = "0473576611", QrCode = Guid.NewGuid(), Pincode = HashEncoder.GetHashString("9999"), }; var result = await userManager.CreateAsync(user); if (result.Succeeded) { await userManager.AddPasswordAsync(user, password); await userManager.AddToRoleAsync(user, personRole); } } }