Ich benutze Magento Rest API zum Abrufen von Daten und es funktioniert sehr gut, aber wenn ich Daten senden möchte, geben Sie diesen Fehler zurück
"messages": {
"error": [
{
"code": 401,
"message": "oauth_problem=signature_invalid"
}
]
}
Ich benutze Postman dafür ... gibt es jemanden, der mir sagen kann, warum ich diesen Fehler bekomme?
magento-1.9
api
rest
gh darvishani
quelle
quelle
Antworten:
Dies ist ein Magento-Kern / Der Client, der zum Generieren eines OAuth-Signaturproblems verwendet wird.
Die vom Client generierte Signatur und die von Magento generierten Signaturen stimmen nicht überein. Dies ist der Grund, warum dieser Fehler ausgelöst wurde.
Für temporäre Tests können Sie einfach den Magento-Code kommentieren, der die Signatur überprüft, und Fehler anzeigen, wenn sie nicht übereinstimmen
Hier sind die Zeilen, die Sinaturen prüfen.
In der Datei app / code / core / Mage / Oauth / Model / Server.php
Zeilennummer 547 bis 549
Hier können Sie sehen, wo
$calculatedSign
sich die von Magento berechnete Signatur befindet und$this->_protocolParams['oauth_signature']
was wir senden.Zu Testzwecken können Sie diese Zeilen kommentieren und arbeiten.
quelle
Haben Sie die Namen und Werte von Parametern verschlüsselt?
Ich hatte auch dieses Problem und das hat mir geholfen.
Müssen Sie sicherstellen , dass Ihre Unterschrift Basis String - Parameter sind in alphabetischer Reihenfolge durch Parameternamen
Dies ist, was ich verwende, um Parameter in meiner Signaturbasis zu codieren.
quelle
Ich habe in letzter Zeit das gleiche Problem festgestellt.
Ich habe es geschafft, indem ich die Signaturmethode im Authentifizierungsheader von HMAC-SHA1 in PLAINTEXT geändert habe .
quelle
Ich habe
AFOAuth1Client
in einer iOS-App mit der Magento Rest API gesprochen. Wechseln vonzu
Laut Cazos Antwort wurde dieses Problem behoben.
quelle