public function getAuthenticationEndpoint() {
        switch ( $this->authMode ) {
            case 'OnlineFederation':
                return $this->crmRegion;
            case 'Federation':
                return $this->organizationUrl;
            default:
                throw new \InvalidArgumentException( 'Unsupported authentication mode: ' . $this->authMode );
        }
    }