public async Task <Response <Token> > Login(string email, string password) { try { if (email == null || password == null) { return(new Response <Token>(400, "Invalid email or password")); } var result = await _signInManager.PasswordSignInAsync(email, password, false, false); if (result.Succeeded) { var appUser = await _userManager.FindByEmailAsync(email); if (!await _userManager.IsEmailConfirmedAsync(appUser)) { return(new Response <Token>(400, "Email is not confirmed")); } return(await _jwt.GenerateJwt(appUser)); } return(new Response <Token>(400, "Invalid email or password")); } catch (Exception) { return(new Response <Token>(520, "Unknown error")); } }
public async Task <Myself> Login(string username, string password) { var result = await _signInManager.PasswordSignInAsync(username, password, false, false); if (result.Succeeded) { var appUser = await _userManager.FindByNameAsync(username); return(new Myself { Jwt = await _jwt.GenerateJwt(appUser), UserId = appUser.Id }); } return(null); }
public async Task <object> Login(string email, string password) { if (email == null || password == null) { return(null); } var result = await _signInManager.PasswordSignInAsync(email, password, false, false); if (result.Succeeded) { var appUser = await _userManager.FindByEmailAsync(email); return(await _jwt.GenerateJwt(appUser)); } return(null); }
public async Task <object> Login(string username, string password) { if (username == null || password == null) { return(null); } var result = await _signInManager.PasswordSignInAsync(username, password, false, false); if (result.Succeeded) { var appUser = await _userManager.Users.FirstOrDefaultAsync(a => a.UserName == username); return(await _jwt.GenerateJwt(appUser)); } return(null); }
public async Task <ActionResult <Response <Token> > > Register([FromBody] UserDto item) { try { try { User user1 = UserConverter.Convert(item); if (user1 == null) { return(StatusCode(400, "Invalid email or password")); } User user = new User { Email = item.Email, UserName = item.Email, Name = item.Name }; var result = await _userManager.CreateAsync(user, item.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user, "user"); await _signInManager.SignInAsync(user, false); var res = await _jwt.GenerateJwt(user); try { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Action( "ConfirmEmail", "Auth", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme); EmailService emailService = new EmailService(_configuration); await emailService.SendEmailAsync(item.Email, "Confirm your account", $"Подтвердите регистрацию, перейдя по ссылке: <a href='{callbackUrl}'>сюда</a>"); } catch (Exception e) { return(StatusCode(400, e.ToString())); } //return res; return(StatusCode(res.Code, new Ack <Token>(res))); } return(StatusCode(400, "Invalid data")); } catch (Exception) { return(StatusCode(520, "Unknown error!")); } } catch (Exception) { return(StatusCode(520, new Ack <Token>(null, "Unknown error"))); } }
public async Task <object> Auth(UserDto item) { var user = UserConverter.Convert(item); var result = await _userManager.FindByEmailAsync(user.Email); if (result == null) { await _userManager.CreateAsync(user); await _signInManager.SignInAsync(user, false); await _userManager.AddToRoleAsync(user, "admin"); return(await _jwt.GenerateJwt(user)); } else { await _signInManager.SignInAsync(result, false); return(await _jwt.GenerateJwt(result)); } }
public ActionResult Put([FromBody] UserProfile data) { var userClaims = GetJwtClaims(); if (userClaims != null) { var mappedData = _repo.HandleUserProfile(userClaims, data); if (mappedData != null) { var jwt = _jwtGenerator.GenerateJwt(mappedData); return(Ok(jwt)); } // false represents no changes return(Ok(false)); } return(Unauthorized()); }
public async Task <User> Authenticate(LoginModel loginData) { var user = await _userRepository.GetLogin(loginData.Username); if (user == null) { throw new ApplicationException("Usuário incorreto"); } bool isPasswordCorrect = _encrypter.compare(user.Password, loginData.Password); if (!isPasswordCorrect) { throw new ApplicationException("Senha incorreta"); } user.Token = _jwtGenerator.GenerateJwt(loginData.Username); return(user); }
public IActionResult Login(LoginReq model) { var user = _userDbContext.Users.FirstOrDefault(x => x.Email == model.Email); if (user == null) { return(NotFound()); } if (user.State != UserState.Active) { return(StatusCode(StatusCodes.Status406NotAcceptable)); } if (!model.Password.Verify(user.PasswordHash)) { return(BadRequest()); } var jwt = _jwtGenerator.GenerateJwt(user); return(Ok(jwt)); }