public async Task <IActionResult> Register([FromForm] RegisterModel model) { var user = new IdentityUser { UserName = model.Login }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { // Example of additng the role claim to the user if (model.Login == "admin") { await CreateAdminRoleIfNotExists(); await _userManager.AddToRoleAsync(user, "Admin"); } var roles = await _userManager.GetRolesAsync(user); return(Ok(_jwtTokenService.GetToken(user, roles))); } return(BadRequest(result.Errors)); }
public async Task <IActionResult> LogIn([FromBody] UserLoginApiModel user) { try { var _user = await _userManager.FindByEmailAsync(user.Email); if (_user == null) { return(StatusCode(204, $"User {user.Email} doesn`t found")); } var confirmPassword = _userManager.PasswordHasher.VerifyHashedPassword(_user, _user.PasswordHash, user.Password); if (confirmPassword == PasswordVerificationResult.Failed) { return(StatusCode(401, "Password doesn`t match")); } var token = _tokenFabric.GetToken(_user).Result; var response = new { user_id = _user.Id, acces_token = token }; return(Ok(response)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> Register([FromForm] RegisterModel model) { var user = new IdentityUser { UserName = model.Login }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { return(Ok(_jwtTokenService.GetToken(user))); } return(BadRequest(result.Errors)); }
private async Task <IActionResult> ChangeCurrentUserPassword(string oldPassword, string newPassword) { var userId = HttpContext.User.FindFirst(Identity.IdentityConstants.UserIdClaimType).Value; var user = await _userManager.FindByIdAsync(userId); var result = await _userManager.ChangePasswordAsync(user, oldPassword, newPassword); if (!result.Succeeded) { return(BadRequest(result.Errors)); } var roles = await _userManager.GetRolesAsync(user); return(Ok(_jwtTokenService.GetToken(user, roles))); }
public void If_UserId_Is_Null_Throw_ArgumentNullException(string userId, string username) { Action action = () => service.GetToken(userId, username); action.Should().Throw <ArgumentNullException>(); }
public void GetToken_ClaimsAreNull_WeGetToken() { var token = _tokenService.GetToken(null); Assert.IsTrue(token != null); }