First decide what you protect:
- Authentication (Knowing who is requesting your service?)
- Resolution? (Can this person correctly request this service or not?)
I recommend that you provide hashed keys for your service. This way you can manage the key issue separately from the services. Or a client key and a secret, Amazon does it.
Itโs always easier for the client if you have a stateless protocol. And send everything through the parameters, cookies also bother the client.
Remember that interest is that itโs as easy as possible to use potential developers to use your service. A super-secure service that no one uses is boring.
You can let customers choose the level of security by giving them the choice of HTTP or SSL / HTTP endpoints to connect to. Choosing a customer is good.
Larry K Dec 19 '11 at 2:34 a.m. 2011-12-19 14:34
source share