It's not possible in Spring Social at this time, nor is it sanctioned by many of the providers in question. The terms of use for many providers explicitly state that each app should have only one client ID/secret pair. I'm not sure if Facebook has such a limitation, but they might.
I suspect that the reason some providers restrict multiple IDs per app is to avoid having the app use a pool of IDs that they use to work around rate limits and that kind of thing. There may be other reasons, though...all in the interest of not having any one client abuse the platform.
That said, if you were to fall back to *not* using the XML namespace and explicitly declare the various beans involved, you *MIGHT* be able to configure a connection factory in request scope and wire its client ID/pair using the Spring Expression Language such that its client ID/pair isn't determined until request-time. But I can't say that I've tried it, so I can't say that it'd even work.
I'm curious what your use-case is for this. Why do you need a single application to present itself as multiple applications when dealing with Facebook or Twitter?
Craig Walls
Spring Social Project Lead