code: public static function refresh($refresh_token) {
          $data = FortniteClient::sendUnrealClientPostRequest(FortniteClient::EPIC_OAUTH_TOKEN_ENDPOINT, [
              'grant_type' => 'refresh_token',
              'refresh_token' => $refresh_token,
              'includePerms' => "false", // We don't need these here
              'token_type' => 'eg1',
          ], FortniteClient::FORTNITE_AUTHORIZATION);
  
          if (!$data->access_token) {
              throw new \Exception($data->errorMessage);
          }
  
         return new self($data->access_token, $data->in_app_id, $data->refresh_token, $data->account_id, $data->expires_in);
      }
docs: Refreshes OAuth2 tokens using an existing refresh token.
  @param  string $refresh_token Exisiting OAuth2 refresh token
  @return self                New Auth instance