private GetUserRefreshTokenResponse GetRefreshToken(string refreshToken) { GetUserRefreshTokenResponse response = new GetUserRefreshTokenResponse(); GetUserRefreshTokenRequest request = new GetUserRefreshTokenRequest { RefreshToken = refreshToken }; response.UserRefreshToken = _userService.GetTokenRefresh(request).UserRefreshToken; return(response); }
/// <summary> /// RefreshToken guncelle /// </summary> /// <param name="Request"></param> /// <returns></returns> public GetUserRefreshTokenResponse GetTokenRefresh(GetUserRefreshTokenRequest Request) { return(base.ExecuteWithExceptionHandledOperation(() => { GetUserRefreshTokenResponse response = new GetUserRefreshTokenResponse(); UserRefreshToken token = _uof.UserRefreshTokenRepository.GetRefreshTokenByToken(Request.RefreshToken); response.UserRefreshToken = _mapper.Map <UserRefreshTokenViewModel>(token); return response; })); }
public RefreshTokenResponse RefreshToken([FromBody] RefreshTokenRequest Request) { RefreshTokenResponse response = new RefreshTokenResponse(); int jwtTimeMinute = JWTModel._jwtTimeMinute; GetUserRefreshTokenResponse refreshToken = GetRefreshToken(Request.RefreshToken); if (refreshToken == null) { response.IsSucceed = false; response.Message = "Refresh Token bulunamadı!"; response.ResultCode = (int)HttpStatusCode.NotFound; return(response); } if (!refreshToken.UserRefreshToken.IsActive) { response.IsSucceed = false; response.Message = "Refresh Token kullanım dışı!"; response.ResultCode = (int)HttpStatusCode.NotFound; return(response); } GetUserRequest request = new GetUserRequest { Id = refreshToken.UserRefreshToken.UserId }; UserViewModel user = _userService.Get(request).User; // yeni access token ve refresh token uretilir TokenModel tokenModel = new TokenModel() { TenantId = user.Company.Tenant.TenantId, CompanyId = user.CompanyId, UserId = user.Id, UserTypeId = user.UserTypeId, Username = user.Username, Email = user.Email, FullName = user.FullName }; Tuple <string, string> token = JwtManager.CreateToken(tokenModel, jwtTimeMinute); response.Token = token.Item1; // eski refresh token pasife alinir BaseResponse resultUpdate = RevokeTokenRefresh(refreshToken.UserRefreshToken.Id); if (resultUpdate == null || !resultUpdate.IsSucceed) { response.IsSucceed = false; response.Message = "Refresh Token pasife alınamadı!"; response.ResultCode = (int)HttpStatusCode.NotFound; return(response); } // yeni uretilen refresh token db e yazilir string newRefreshToken = token.Item2; //response.RefreshToken = newRefreshToken; BaseResponse resultInsert = InsertTokenRefresh(newRefreshToken, refreshToken.UserRefreshToken.UserId); if (resultInsert == null || !resultInsert.IsSucceed) { response.IsSucceed = false; response.Message = "Refresh Token eklenemedi!"; response.ResultCode = (int)HttpStatusCode.NotFound; return(response); } return(response); }