You're right that both are tied to UsersConnectionRepository and that even during the course of an implicit signup (as is demonstrated in the quickstart), a connection is saved to the connection table. But you still don't need a local user database...just a database to hold those connections.
Even then, I probably wouldn't write a custom controller. Instead, I'd consider writing a custom connection repository pair. It's important that ProviderSignInController know about those connections or else it will force a signin again the next time they visit your app. Maybe that's what you want...in which case, the custom connection repository could store nothing and always report that it can't find a connection.
But your point is well-taken that there needs to be an example or better guidance on writing apps that don't maintain any sort of local database and only rely on the provider for all user data. I'll add that to my list of examples to put together. Of course, I welcome anyone else who might want to contribute such an example.
Craig Walls
Spring Social Project Lead