public function getAuthenticationUri()
    {

        if (!$this->canBuildAuthenticationUri()) {
            throw new \RuntimeException(
            	'Cannot build authentication uri, dependencies are missing'
            );
        }

        $uriParams = array(
            'client_id' => $this->clientId,
            'response_type' => 'code',
            'redirect_uri' => $this->redirectUri,
        );

        return $this->authorizeUri . '?' . http_build_query($uriParams);

    }