ich auf einer REST-Service gerade arbeite, die ein paar Anforderungen hat:Autorisieren REST Anfragen
- Es hat sicher.
- Benutzer sollten nicht in der Lage sein, Anfragen zu fälschen.
Meine aktuelle vorgeschlagene Lösung ist eine benutzerdefinierte Autorisierungsheader zu haben, die wie folgt aussehen (dies ist die gleiche Art und Weise, dass die Amazon Web Services Arbeit):
Authorization: MYAPI username:signature
Meine Frage ist, wie die Signatur zu bilden . Wenn sich der Benutzer bei dem Dienst anmeldet, erhält er einen geheimen Schlüssel, mit dem er Anforderungen signieren kann. Dadurch werden andere Benutzer daran gehindert, in ihrem Namen Anfragen zu stellen, sie werden jedoch nicht daran gehindert, Anfragen zu fälschen.
Die Anwendung, die diesen Dienst verwenden wird, ist eine iPhone-Anwendung, also dachte ich, wir könnten einen öffentlichen Schlüssel in die Anwendung eingebettet haben, mit dem wir eine zusätzliche Unterschrift machen können, aber das bedeutet, dass wir haben müssen zwei Signaturen, eine für den Benutzerschlüssel und eine für den App-Schlüssel?
Jeder Rat würde sehr geschätzt werden, würde ich gerne das Recht gleich beim ersten Mal.
Definieren Sie "Schmiedeanforderungen". Welche Entität erstellt nicht gefälschte Anforderungen? Ist es die Client-seitige Software? – Alexander