I'm thinking of adding a feature to my iOS game to allow players to create their own game levels, share them with other players, rate them, etc. There'd be a public repository of user-created levels, sortable by creation date, rating, difficulty, or other criteria.
This kind of functionality would necessitate a third-party server. I was thinking I'd create a RESTful API using Sinatra and run it on Heroku. My question is: what would be the best way to authenticate requests to this API? I would prefer not to require players to create a username and password. I'd like to just use Game Center's ID system.
Any suggestions? I've never done any server-side stuff before so any help is appreciated!
Clarification
Yes, I'm aware that Apple doesn't provide its own system. But it does give developers access to unique Game Center identifiers (developer.apple.com/library/mac/#documentation/…) and I was hoping I could use that somehow to roll my own authentication system without requiring users to sign on via Facebook/Twitter/etc. If that's possible.
generateIdenityVerificationSignature...
and gotten back all that info and made it into a dictionary and sent it to my server, the part I'm not getting is how my server uses it to validate that I have a legitimate user signed on. To clarify, I'd like the the user to be able to log-in via GameCenter, then my server to take that information and say "ok, GameCenter's good enough for us, here's your game-data/content" similar to openID, except with GameCenter credentials. Thanks! – Reis