public async Task <RefreshTokenDm> RefreshAsync(RefreshTokenVm refreshTokenVm) { await SetActiveAccessTokenAsync(refreshTokenVm.RefreshToken); if (_activeAccessToken is null) { return(CreateInvalidResult(EResultStatus.InvalidRefreshToken)); } if (!_activeAccessToken.IsActive) { return(CreateInvalidResult(EResultStatus.InvalidRefreshToken)); } if (!IsValidationAccessToken(refreshTokenVm.AccessToken)) { return(CreateInvalidResult(EResultStatus.InvalidRefreshToken)); } if (!AccessTokenHelper.IsValidationExpirationDate(_activeAccessToken.ExpirationDate)) { return(CreateInvalidResult(EResultStatus.RefreshTokenExpired)); } return(CreateSuccessResult()); }
private static bool IsValidationRefreshTokenVm(RefreshTokenVm refreshTokenVm) { var hasError = refreshTokenVm.AccessToken is null || refreshTokenVm.RefreshToken is null || refreshTokenVm.AccessToken.Length <= AppConsts.MinimumAccessTokenLength || refreshTokenVm.AccessToken.Length <= AppConsts.MinimumRefreshTokenLength; return(hasError); }
public async Task <ResultModel <RefreshTokenResultVm> > RefreshTokenAsync(RefreshTokenVm refreshTokenVm) { if (!IsValidationRefreshTokenVm(refreshTokenVm)) { return(CreateInvalidResult <RefreshTokenResultVm>(EResultStatus.InvalidData)); } var result = await _refreshTokenService.RefreshAsync(refreshTokenVm); if (!result.IsAuthenticated) { return(CreateInvalidResult <RefreshTokenResultVm>(result.ResultStatus)); } var resultVm = await CreateRefreshTokenAsync(result.UserId); return(CreateSuccessResult(resultVm)); }