public async Task <IActionResult> UserEdit(UserCodeConfiermModelView model) { try { var Logger = await userManager.FindByIdAsync(User.FindFirst("Id")?.Value); if (Logger != null) { if (await userManager.IsInRoleAsync(Logger, "User") && !Logger.Block) { return(Ok()); } else { return(Unauthorized()); } } else { return(Unauthorized()); } } catch (Exception e) { return(BadRequest(new IdentityError() { Code = e.Message.ToString(), Description = e.InnerException.ToString() })); } }
public async Task <IActionResult> Confierm(UserCodeConfiermModelView model) { if (ModelState.IsValid) { var User = await userManager.FindByNameAsync(model.Email); if (User != null) { if (await userManager.IsInRoleAsync(User, "User") && User.Confirmed != Confirmed.block && !User.Block) { var Code = _contect.UserCodeConfierm.SingleOrDefault(i => i.UserId == User.Id && i.Code == model.Code && i.ExperdDate >= DateTime.Now); if (Code != null) { User.Confirmed = Confirmed.approved; await userManager.UpdateAsync(User); _contect.UserCodeConfierm.Remove(Code); _contect.SaveChanges(); // login //get Token :) var claim = new[] { new Claim("Id", User.Id), new Claim("Rolas", userManager.GetRolesAsync(User).Result.FirstOrDefault()) }; var signinKey = new SymmetricSecurityKey( Encoding.UTF8.GetBytes(_configuration["Jwt:SigningKey"])); int expiryInMinutes = Convert.ToInt32(_configuration["Jwt:ExpiryInHouer"]); var token = new JwtSecurityToken( claims: claim, issuer: _configuration["Jwt:Site"], audience: _configuration["Jwt:Site"], expires: DateTime.UtcNow.AddHours(expiryInMinutes), signingCredentials: new SigningCredentials(signinKey, SecurityAlgorithms.HmacSha256) ); // get User var user = _contect.Users.Include(i => i.UserIdentity).SingleOrDefault(i => i.id == User.Id); if (user != null) { return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token), expiration = token.ValidTo, user.id, user.Name, user.AName, user.UserIdentity.Email, user.UserIdentity.PhoneNumber, Roles = userManager.GetRolesAsync(User).Result.FirstOrDefault() })); } else { return(Unauthorized()); } } else { return(BadRequest()); } } else { return(NotFound()); } } else { return(BadRequest()); } } else { return(BadRequest()); } }