Die OAuth-Signatur stimmt nicht mit
-
-
Setzen Sieeinfache Anführungszeichen um die Wertefür $ Signatur und $ consumer_signatureput single quotation marks around the values for $signature and $consumer_signature
- 0
- 2015-04-27
- user42826
-
Entschuldigung,ich habe sienur als Referenz verwendet,nicht als Code.Diese Werte werdenberechnet,aber Algorithmenin Javascript-Clients und auf der Serverseitesorry I actually I just put them for reference not as code. these values are calculated but algorithms in javascript clients and server side
- 0
- 2015-04-27
- Sudarshan Anbazhagan
-
4 Antworten
- Stimmen
-
- 2015-09-07
Beim Versuch,Client-CLImit dem OAuth 1.0a-Plugin zu verwenden,tratein ähnliches Problem auf. Ichfandjedocheine Lösung. hier im offiziellen Repository.
Ändern Siein der Datei
lib/class-wp-json-authentication-oauth1.php
in Zeile524
denfolgenden Code:$base_request_uri = rawurlencode( get_home_url( null, parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ), 'http' ) );
bis:
$home_url_path = parse_url(get_home_url (null,'','http'), PHP_URL_PATH ); $request_uri_path = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ); if (substr($request_uri_path, 0, strlen($home_url_path)) == $home_url_path) { $request_uri_path = substr($request_uri_path, strlen($home_url_path)); } $base_request_uri = rawurlencode( get_home_url( null, $request_uri_path, 'http' ) );
Dies sollte das Problem lösen,mit dem Sie konfrontiert sind.
I was facing a similar issue when trying to use Client-CLI with OAuth 1.0a plugin, however I found a solution here on the official repository.
In the file
lib/class-wp-json-authentication-oauth1.php
on line524
, change the following code:$base_request_uri = rawurlencode( get_home_url( null, parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ), 'http' ) );
to:
$home_url_path = parse_url(get_home_url (null,'','http'), PHP_URL_PATH ); $request_uri_path = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ); if (substr($request_uri_path, 0, strlen($home_url_path)) == $home_url_path) { $request_uri_path = substr($request_uri_path, strlen($home_url_path)); } $base_request_uri = rawurlencode( get_home_url( null, $request_uri_path, 'http' ) );
This should solve the problem you are facing.
-
Würdees Ihnenetwas ausmachen,zuerweitern,wie diesgenaufunktioniert?Was hat sichgeändert?Ich kenne PHPnicht,aberich habe dasgleiche Problemmit einem Javascript-Client,denich schreibe,undich denke,Ihre Lösung könnte sich aufmeine App verallgemeinern lassen.Would you mind expanding on how this works exactly? What changed? I don't know PHP but I'm running into the same issue with a javascript client I'm writing, and I think perhaps your solution might generalize to my app.
- 0
- 2016-06-24
- Chuck Dries
-
- 2016-07-12
Stellen Sie sicher,dass die Signaturanforderung korrektbehandelt wird: http://oauth1.wp-api.org/docs/basics/Signing.HTML
Wenn Sie POSTMAN verwenden,können Siees unter Autorisierung auf OAuth 1.0 setzen und dann die Optionen
auswählen- Fügen Sie der Signatur leere Parameter hinzu
- OAuth-Signatur codieren
- Speichern Sie die Hilfsdaten,um anzufordern
Hieristein detailliertes Tutorial,dasich über die Verwendung von OAuth 1 und Postmanmit WordPressgeschrieben habe: https://wordpress.stackexchange.com/a/239873/51201
Make sure that signature request is handled correctly: http://oauth1.wp-api.org/docs/basics/Signing.html
If you're using POSTMAN you can set it to OAuth 1.0 under Authorization and then select the options
- Add empty params to signature
- Encode OAuth signature
- Save helper data to request
Here's a detailed tutorial I wrote on using OAuth 1 and Postman with WordPress: https://wordpress.stackexchange.com/a/239873/51201
-
"Leere Parameter zur Signatur hinzufügen" hatbei mirfunktioniert.Ich verstehe den Grund dafürnicht wirklich."Add empty params to signature" worked for me. I don't really understand the reason behind it.
- 0
- 2016-11-01
- Loc Pham
-
@LocPham,weil die Signatur aus den Abfrageargumentengeneriert wird. Dahermüssen leere Argumenteenthalten sein,damit die Signatur korrektgeneriert wird@LocPham it's because the signature is generated from the query arguments, thus, you need to have empty arguments included to have it generate the signature correctly
- 0
- 2016-11-02
- sMyles
-
Ich habe Problemebeim Installieren und Aktivieren von Pluginsmit WordPress 4.9.6.Würden Sie dies überprüfen: https://wordpress.stackexchange.com/q/300120/141031I have problem in installing and activating plugins with wordpress 4.9.6. would you check this: https://wordpress.stackexchange.com/q/300120/141031
- 0
- 2018-04-08
- Mahdi
-
- 2017-02-09
Versuchen Siein Postman unter Autorisierung die Auswahl " Parameter zum Header hinzufügen " abzuwählen.
In Postman under Authorization try deselecting "Add params to header".
-
Ichbin mirnicht sicher,warum dies abgelehnt wurde,hatfürmichfunktioniert ...not sure why this got downvoted, worked for me...
- 0
- 2018-03-23
- Splatbang
-
Arbeitete auch hier!Worked here too!
- 0
- 2019-09-25
- Chris Nevill
-
- 2017-06-20
Überprüfen Sie Ihre Baseurl-Weiterleitung. Inmeinem Fall wurde das Nicht-WWW an WWW weitergeleitet.Nach dem Aktualisieren der Baseurl auf das Format www.example.com hatesbei mirfunktioniert.
check you baseurl forwarding. In my case the non-www was being forwarded to www. After updating the baseurl to www.example.com format it worked for me.
Ich verwende das Folgendein meinem WordPress,umeine oauth-basierte Anwendung zuentwickeln.
WP-API (API-Generierungs-Plugin)
WP API OAuth1 (oauth Server) und
WP API client-cli (oauth client library)
unter derfolgenden URListfür die wp client-cli https://man-sudarshann-1.c9.io/api/
Icherhalte den Fehler Die OAuth-Signatur stimmtnicht überein ,wennich auf die Schaltfläche AUTH klicke,um die Anforderung automatisch zu authentifizieren. Ich habe alles,was dafürbehoben wurde,über das Internet ausprobiert. aber keiner half
Die vom API-Clientgenerierte undgesendeteSignatur lautet 3ko8DUsUUEB4Hqaks68vGYnTjQM=
Die auf der Serverseitegenerierte-Signatur lautet 5rPsul6zplhfNvb4o+Mz11O/OyI=
Derfolgende Code schlägt alsofehl
Ich denke,die API-Konsolegenerierteine falsche Signatur. Bitte helfen Siemirbei der Lösung dieses Problems.