Je travaille sur un service REST qui a quelques exigences:Ordonnateur REST Demandes
- Il doit être sécurisé.
- Les utilisateurs ne devraient pas être en mesure de forger des demandes.
Ma solution actuelle proposée est d'avoir un en-tête d'autorisation personnalisé qui ressemble à ceci (ce qui est de la même façon que le travail de services Web amazon):
Authorization: MYAPI username:signature
Ma question est de savoir comment former la signature . Lorsque l'utilisateur se connecte au service, il reçoit une clé secrète qu'il devrait pouvoir utiliser pour signer des demandes. Cela empêchera les autres utilisateurs de soumettre des demandes en leur nom, mais ne les empêchera pas de falsifier des demandes.
L'application qui utilisera ce service est une application iPhone, donc je pensais que nous pouvions avoir une clé publique intégrée dans l'application avec laquelle nous pouvons faire une signature supplémentaire, mais cela signifie-t-il que nous devrons avoir deux signatures, une pour la clé utilisateur et une pour la clé de l'application?
Tout conseil serait grandement apprécié, j'aimerais bien le comprendre dès la première fois.
Définir "demandes de forgeage". Quelle entité crée des demandes non falsifiées? Est-ce le logiciel côté client? – Alexander