docs: def authenticate(cls, client_id, secret):
          """
          Authenticate a client using it's secret
  
          :param client_id: the client / service ID
          :param secret: the client secret
          :returns: a Service instance
          """
          result = yield views.oauth_client.get(key=[secret, client_id])
          if not result['rows']:
              raise Return()
  
          service = yield Service.get(client_id)
          raise Return(service)