public IActionResult VerifyUserExists(User user, HttpContext ctx) { if (user == null) { return new NotFoundResult(); } // if the user is okay, don't return a response return null; }
public async Task Authenticate(User user, HttpContext ctx) { var identity = new ClaimsIdentity( new [] { new Claim(claimType, user.Id.ToString(), claimValueType) }, authenticationType ); var principal = new ClaimsPrincipal(identity); await ctx.Authentication.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, principal ); }
public async Task<IActionResult> VerifyUserIsCurrent(User user, HttpContext ctx) { var invalid = VerifyUserExists(user, ctx); if (invalid != null) { return invalid; } if (!await IsCurrentUser(user, ctx)) { return new UnauthorizedResult(); } return null; }
private async Task<IQueryable<Game>> GetGameQuery(User user) { IQueryable<Game> query = db.Entry(user) .Collection(u => u.Games) .Query() .Include(g => g.GameGenres) .Include(g => g.GamePlatforms) .Include(g => g.GameTags); if (!await auth.IsCurrentUser(user, HttpContext)) { query = query.Where(g => !g.Hidden); } return query; }
private async Task<Game> GetGame(User user, int id) { return (await GetGameQuery(user)) .SingleOrDefault(g => g.Id == id); }
public async Task<ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { // Create a local login before signing in the user var user = new User(model.UserName); var result = await IdentityManager.Users.CreateLocalUserAsync(user, model.Password); if (result.Success) { await IdentityManager.Authentication.SignInAsync(AuthenticationManager, user.Id, isPersistent: false); return RedirectToAction("Index", "Home"); } else { AddErrors(result); } } // If we got this far, something failed, redisplay form return View(model); }
public async Task<bool> IsCurrentUser(User user, HttpContext ctx) { var currentUser = await GetCurrentUser(ctx); return currentUser != null && user.Id == currentUser.Id; }