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);
    }