code cleanup; handling an unsupported provider; processing of client_id/_secret in the constructor