don't set ``client_secret`` request parameter if self.secret is nil
Use KVC to allow for nil secret value
Require clientID parameter in constructor