We have built numerous web services and hosted them on our internal servers and these will be used by our iPhone application. End users of the iPhone app need not sign into the application, they can just use the app without any credentials.
Whenever web services receive a request; I want to authorize that these requests are coming from iPhone app. How can i do this?
Thanks!
How safe do you want it to be ?
The dead simple and widely used technique is to require all webservice request include an ApiKey header. The server must then validate the ApiKey against a known list of allowed ApiKeys. If communication is done over SSL this is fairly safe (would require disassembly of the client code to find the key), on the other hand if communication is plain http, the ApiKey can be easily sniffed.