public async Task <IActionResult> refreshAccessToken(refreshAccessTokenDto _refreshAccessTokenDto) { Token tokenService = new Token(_config.GetSection("AppSettings:SecretKey").Value); bool isRefreshTokenValid = tokenService.ValidateRefreshToken(_refreshAccessTokenDto.refresh_token, _refreshAccessTokenDto.user_id); if (!isRefreshTokenValid) { return(BadRequest("false")); } string new_refresh_token_ = new JwtSecurityTokenHandler().WriteToken(tokenService.GenerateRefreshToken(_refreshAccessTokenDto.user_id)); string new_access_token_ = new JwtSecurityTokenHandler().WriteToken(tokenService.GenerateToken(_refreshAccessTokenDto.user_id)); UserLog User = await _accountRepo.GetUserFromUserID(_refreshAccessTokenDto.user_id); if (User == null) { return(BadRequest()); } bool activated = false; string activation_check_ = User.Activated; if (activation_check_ == "T") { activated = true; } int user_id_ = User.IduserLog; string user_email_ = User.UserEmaill; var currentDp = await _photoRepo.GetDisplayPictureFromUserID(User.IduserLog); string dp_url_ = ""; if (currentDp != null) { dp_url_ = currentDp.Url; } return(Ok(new { account_activated = activated, user_id = user_id_, user_email = user_email_, new_refresh_token = new_refresh_token_, new_access_token = new_access_token_, dp_url = dp_url_ })); }
public async Task <IActionResult> RefreshAccessToken([FromBody] refreshAccessTokenDto refreshTokenDto) { User loggedinUser = (_context.Users.First(e => e.RefreshToken == refreshTokenDto.RefreshToken)); if (loggedinUser.TokenDate < DateTime.Now.AddHours(1) && loggedinUser.RefreshToken == refreshTokenDto.RefreshToken) { Authenticator auth = new Authenticator(); loggedinUser.RefreshToken = auth.GenerateLogintoken(); loggedinUser.Token = auth.GenerateLogintoken(); loggedinUser.TokenDate = DateTime.Now; _context.SaveChanges(); return(Ok(new { refreshtoken = loggedinUser.RefreshToken, token = loggedinUser.Token, expiredate = ((DateTime)loggedinUser.TokenDate).AddHours(1) })); } return(BadRequest()); }