public async Task <IActionResult> Login(userForLoginDto _userForLoginDto) { _userForLoginDto.Email = _userForLoginDto.Email.ToLower(); UserLog userFromRepo = await _repo.Login(_userForLoginDto.Email, _userForLoginDto.Password); if (userFromRepo == null) { return(Unauthorized()); } var AccessToken = new Token(_config.GetSection("AppSettings:SecretKey").Value).GenerateToken(userFromRepo.IduserLog); var RefreshToken = new Token(_config.GetSection("AppSettings:SecretKey").Value).GenerateRefreshToken(userFromRepo.IduserLog); var currentDp = await _photoRepo.GetDisplayPictureFromUserID(userFromRepo.IduserLog); string dp_url_ = ""; if (currentDp != null) { dp_url_ = currentDp.Url; } return(Ok(new { issued = true, token = new JwtSecurityTokenHandler().WriteToken(AccessToken), refresh_token = new JwtSecurityTokenHandler().WriteToken(RefreshToken), activation_status = userFromRepo.Activated, user_id = userFromRepo.IduserLog, user_email = userFromRepo.UserEmaill, dp_url = dp_url_ })); }
public async Task <IActionResult> Login([FromBody] userForLoginDto userlogindto) { var userFromRepo = await _repo.Login(userlogindto.username.ToLower(), userlogindto.password); if (userFromRepo == null) { return(Unauthorized()); } var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_config.GetSection("AppSettings:Token").Value); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, userFromRepo.id.ToString()), new Claim(ClaimTypes.Name, userFromRepo.UserName) }), Expires = DateTime.Now.AddDays(1), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha512Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); var tokenString = tokenHandler.WriteToken(token); return(Ok(new { tokenString })); }