pub fn authorize(
    client_id: String,
    host: Option<String>
) -> Result<Credential, DeviceFlowError>