It's all a REST-based interface so the options are wide open! That said, do you really want to manage the identity yourself OR do you want to attach profile information to the identities that are authenticated by the various services you mention.
I'd tend to go for the latter, in which case you can collect additional data and store it in WAMS associated with the user. If you look at "Use Scripts to authorize users in Mobile Services", you'll note you have access to the 'userid' of the authentication service. That id may be opaque; however, in your 'registration' WAMS script, you'd be able to record your own meaningful data along with the ID provider's unique userid key. So now you're maintaining profile information but not having to do the authentication yourself!
Of course, within a WAMS script you can access other tables (and services) outside of the one associated with the CRUD operation that invoked it. So you could join, for instance, with your 'profile info' table in all of your other scripts using the user.userid
that's passed into the script as a parameter as an index to your profile information table. This is where you can add your 'treatments' to the data.