Bit of background:
I'm creating a Drupal site that is designed to provide data to multiple mobile client apps. Basically each app is a customised instance of a single app codebase (name, UI skin etc.). I don't need end users to log into the site to use the client apps, in fact, they shouldn't really need to care about the back end.

Story So Far:
I have sucessfully setup a 2-leg OAuth authentication mechanism, using the various howto guides on this site and elseware. I create a new site user for each app instance, embed the consumer key and secret in the app, and access my REST API, everything is fine.

I want to prevent the consumer 'users' from being able to log into my site via the web interface. How can I do this? I imagine hook_user_login () would do what I need.

Alternative Option:
I already have a content type that defines an app 'channel', and a node is created each time I generate a new custom app. Is there a way I can use these nodes as OAuth consumers? That way I won't need an actual user.

Many thanks,