Oauth Autentifizierung für API

Moin,


ist es möglich Oauth einzubinden? Für eine API Anbindung wird folgendes benötigt:


Authentication & AuthorizationMake the request with OAuth protocol parametersAll requests to BrickLink REST API require you to authenticate using OAuth 1.0 like - but simpler flow. You can authorize your requests with your credentials provided after registration.The parameters are sent in either the HTTP Authorization header or query part of the URL with JSON format.All parameter names and values are escaped using the RFC3986 percent-encoding (%xx) mechanism.Prameter Details

Property name Value Note
oauth_version String Must be 1.0
oauth_consumer_key String The consumer key
oauth_token String The access token
oauth_timestamp String The timestamp is expressed in the number of seconds since January 1, 1970 00:00:00 GMT
oauth_nonce String A random string, uniquely generated for each request
oauth_signature_method String Must be HMAC-SHA1
oauth_signature String The signature as defined in Signing Requests

Example

The request for the orders you received is:

https://api.bricklink.com/api/store/v1/orders?direction=in

Authorization: OAuth realm="",
oauth_consumer_key="7CCDCEF257CF43D89A74A7E39BEAA1E1",
oauth_token="AC40C8C32A1748E0AE1EFA13CCCFAC3A",
oauth_signature_method="HMAC-SHA1",
oauth_signature="0IeNpR5N0kTEBURcuUMGTDPKU1c%3D",
oauth_timestamp="1191242096",
oauth_nonce="kllo9940pd9333jh",
oauth_version="1.0" 

Hallo Michael,


in der Theorie kannst du das schon jetzt mit Bordmitteln umsetzen. Allerdings ist dein vorhaben sehr kompliziert und eine detaillierte Schritt für Schritt Anleitung gibt es für diesen Fall nicht.


Dennoch habe ich ein paar Tipps für dich wie du das ganze umsetzen kannst:


Du benötigst einen Step der HTTPRequests ausführen kann z.B UrlDownload oder den ApiCall-Step. Mit den Step kannst du einen Request zu Bricklink zusenden. Bitte beachte das du sämtliche von Bricklink geforderten Header-Parameter setzt. Die Header-Informationen kannst du im Step unter erweiterte Einstellungen hinterlegen.


Die Oauth_signature kannst du im Studio mit Hilfe des HTMLWriter-Step generieren. Dafür brauchst du die Freemarker Template Funktion "hmacSHA1" und die Freemarker Template Funktion "encodeBase64".


${encodeBase64(hmacSHA1("base signature String", "secret-String")!)!}



Mehr Informationen zu oauth findest du hier und hier.



Viele Grüße,

Thomas Dressel




ok, soweit verstanden, kann ich mich bei Problemen hier dann noch mal an euch wenden?

Natürlich kannst du jederzeit fragen :-)


Gruß,

Thomas

ich muss leider eine IP angeben mit der ich die Abfragen machen kann, welche kann ich denn da eintragen, habe im log gesehen das es verschiedene gibt, damit ich aber eine Abfrage machen kann muss ich die IP Adresse eintragen und diese ist mit den Daten Token Value und Token Secret verknüpft, kommen die Anfragen dann von einer anderen IP funktioniert es logischerweise nicht. Habt ihr dafür auch einen Tipp?

Hallo Michael,


momentan verwenden wir drei unterschiedliche IP Adressen. Die IP-Adressen können sich aber jederzeit ändern. Wir können dir aber die IP-Adressen per Mail zukommen lassen. Wenn dir das schon weiterhelfen sollte meld dich bitte nochmal.


Viele Grüße

Thomas Dressel

ich glaube die drei habe ich, zumindest habe ich drei im Log bei uns gefunden, ich probiere es mal....