private function handleAuthorizeResponse($response)
    {
        $status = ArrayHelper::getValue($response, 'status');

        if (!is_null($status) && $status == 'success') {
            $code = ArrayHelper::getValue($response, 'data.code');
            if (is_null($code)) {
                throw new Oauth2ClientException(self::CODE_NOT_SET);
            }
            return $code;
        } else {
            $message = ArrayHelper::getValue($response, 'message', self::DEFAULT_ERROR);
            throw new Oauth2ClientException($message);
        }
    }