private async Task SignDonorIn(WishlistUser user, WishlistUserManager manager) { var authManager = HttpContext.GetOwinContext().Authentication; authManager.SignIn(new AuthenticationProperties { IsPersistent = true }, await user.GenerateUserIdentityAsync(manager)); }
protected override void Dispose(bool disposing) { if (disposing && UserManager != null) { UserManager.Dispose(); UserManager = null; } base.Dispose(disposing); }
private async Task<WishlistUser> CreateDonor(RegisterDonorViewModel registration, WishlistUserManager manager) { await manager.CreateAsync(new WishlistUser { Name = registration.Name, UserName = registration.Email, Email = registration.Email }, registration.Password); return await manager.FindByNameAsync(registration.Email); }
private async Task SendConfirmationEmail(WishlistUser user, WishlistUserManager manager) { string code = await manager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); await manager.SendEmailAsync(user.Id, "Confirm Your Email for Santa's Wishlist", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); }
private static void SeedUserAccounts(WishlistContext context) { var userStore = new UserStore <WishlistUser>(context); var userManager = new WishlistUserManager(userStore); userManager.Create(new WishlistUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, Name = "Jacob Marley", }, "OweBahama14"); var jakeUser = userManager.FindByName("jmarley"); userManager.AddToRoles(jakeUser.Id, WishlistUser.AdminRole); userManager.Create(new WishlistUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, Name = "Robert" }, "SwazyDoze14"); var bobUser = userManager.FindByName("rcratchet"); userManager.AddToRole(bobUser.Id, "Family"); userManager.AddClaim(bobUser.Id, new Claim("Family", (1).ToString())); userManager.AddClaim(bobUser.Id, new Claim("Child", (1).ToString())); userManager.AddClaim(bobUser.Id, new Claim("Wishlist", (1).ToString())); userManager.Create(new WishlistUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, Name = "Ben Scrooge" }, "ChristmasPast"); var benUser = userManager.FindByName("*****@*****.**"); userManager.AddToRole(benUser.Id, "Donor"); userManager.AddClaim(benUser.Id, new Claim("Donor", (1).ToString())); }
private async Task AuthorizeChildAndWishlistForFamilyUser(Child child, Wishlist wishlist) { var familyUser = await _db.Users.Where( u => u.Claims.Any(c => c.ClaimType == "Family" && c.ClaimValue == child.FamilyId.ToString()) ).FirstAsync(); using (var userStore = new UserStore <WishlistUser>(_db)) using (var userManager = new WishlistUserManager(userStore)) { await userManager.AddClaimAsync(familyUser.Id, new Claim("Child", child.Id.ToString())); await userManager.AddClaimAsync(familyUser.Id, new Claim("Wishlist", wishlist.Id.ToString())); if (User.Identity.GetUserId() == familyUser.Id) { var claimsIdenity = (ClaimsIdentity)User.Identity; claimsIdenity.AddClaim(new Claim("Child", child.Id.ToString())); claimsIdenity.AddClaim(new Claim("Wishlist", wishlist.Id.ToString())); HttpContext.GetOwinContext().Authentication.SignIn(claimsIdenity); } } }
public async Task <ActionResult> ResetPassword(int id) { var familyUser = await _db.Users.Where( u => u.Claims.Any(c => c.ClaimType == "Family" && c.ClaimValue == id.ToString()) ).FirstAsync(); using (var userStore = new UserStore <WishlistUser>(_db)) using (var userManager = new WishlistUserManager(userStore)) { var password = GenerateRandomPassword(8); var hashedPassword = userManager.PasswordHasher.HashPassword(password); await userStore.SetPasswordHashAsync(familyUser, hashedPassword); await userStore.UpdateAsync(familyUser); TempData["familyCredentials"] = new FamilyCredentials { Username = familyUser.UserName, Password = password }; return(RedirectToAction("Administer", new { id = id })); } }
private async Task <FamilyCredentials> CreateFamilyAccount(Family family) { var username = await GenerateFamilyUsername(family.ParentLastName); var password = GenerateRandomPassword(8); var userStore = new UserStore <WishlistUser>(_db); var userManager = new WishlistUserManager(userStore); await userManager.CreateAsync(new WishlistUser { UserName = username, Email = family.Email, PhoneNumber = family.Phone }, password); var createdUser = await userManager.FindByNameAsync(username); await userManager.AddToRoleAsync(createdUser.Id, "Family"); await userManager.AddClaimAsync(createdUser.Id, new Claim("Family", family.Id.ToString())); return(new FamilyCredentials { Username = username, Password = password }); }
private async Task AuthorizeDonorForUser(WishlistUser user, int donorId, WishlistUserManager manager) { await manager.AddToRoleAsync(user.Id, "Donor"); await manager.AddClaimAsync(user.Id, new Claim("Donor", donorId.ToString())); }
public AccountController(WishlistUserManager userManager) { UserManager = userManager; }
private async Task<FamilyCredentials> CreateFamilyAccount(Family family) { var username = await GenerateFamilyUsername(family.ParentLastName); var password = GenerateRandomPassword(8); var userStore = new UserStore<WishlistUser>(_db); var userManager = new WishlistUserManager(userStore); await userManager.CreateAsync(new WishlistUser { UserName = username, Email = family.Email, PhoneNumber = family.Phone }, password); var createdUser = await userManager.FindByNameAsync(username); await userManager.AddToRoleAsync(createdUser.Id, "Family"); await userManager.AddClaimAsync(createdUser.Id, new Claim("Family", family.Id.ToString())); return new FamilyCredentials { Username = username, Password = password }; }
private async Task AuthorizeChildAndWishlistForFamilyUser(Child child, Wishlist wishlist) { var familyUser = await _db.Users.Where( u => u.Claims.Any(c => c.ClaimType == "Family" && c.ClaimValue == child.FamilyId.ToString()) ).FirstAsync(); using (var userStore = new UserStore<WishlistUser>(_db)) using (var userManager = new WishlistUserManager(userStore)) { await userManager.AddClaimAsync(familyUser.Id, new Claim("Child", child.Id.ToString())); await userManager.AddClaimAsync(familyUser.Id, new Claim("Wishlist", wishlist.Id.ToString())); if (User.Identity.GetUserId() == familyUser.Id) { var claimsIdenity = (ClaimsIdentity) User.Identity; claimsIdenity.AddClaim(new Claim("Child", child.Id.ToString())); claimsIdenity.AddClaim(new Claim("Wishlist", wishlist.Id.ToString())); HttpContext.GetOwinContext().Authentication.SignIn(claimsIdenity); } } }
public async Task<ActionResult> ResetPassword(int id) { var familyUser = await _db.Users.Where( u => u.Claims.Any(c => c.ClaimType == "Family" && c.ClaimValue == id.ToString()) ).FirstAsync(); using (var userStore = new UserStore<WishlistUser>(_db)) using (var userManager = new WishlistUserManager(userStore)) { var password = GenerateRandomPassword(8); var hashedPassword = userManager.PasswordHasher.HashPassword(password); await userStore.SetPasswordHashAsync(familyUser, hashedPassword); await userStore.UpdateAsync(familyUser); TempData["familyCredentials"] = new FamilyCredentials { Username = familyUser.UserName, Password = password }; return RedirectToAction("Administer", new { id = id }); } }
private async Task <WishlistUser> CreateDonor(RegisterDonorViewModel registration, WishlistUserManager manager) { await manager.CreateAsync(new WishlistUser { Name = registration.Name, UserName = registration.Email, Email = registration.Email }, registration.Password); return(await manager.FindByNameAsync(registration.Email)); }