Hallo zusammen,
ich bin leider trotz intensiver Auseinandersetzung mit der Showare REST API noch am hadern mit der (Digest) Authentifizierung. Vielleicht sind es aber auch einfach grundlegende technische Missverständnisse, die bei mir vorliegen.
Mein Plan: Eine Mobile App zu bauen, die aufs Backend meines Shops via API zugreift und ihn steuert. Also v.a. GET/POST/PUT/DELETE-Calls macht.
-
Ich hab das schon richtig verstanden, dass ich mich als 3rd-Party-App definitiv mit HTTP Digest Auth authentifizieren muss, oder? (Basic Auth geht nicht…)
-
Ich baue die App in JavaScript / React Native. Hab dafür eine npm Library gefunden, welche Digest Auth via JS ermöglicht.
-
Die Requests klappen soweit auch, ich werde authentifiziert und kann Resourcen abfragen, allerdings: Ich muss mich bei jedem Call erneut authentifizieren. Das ist nicht im Sinne des Erfinders, oder? Ich hab evtl. Digest Auth noch nicht voll durchblickt und vermute, dass der (2.) Request-Header unique ist, da der nonce, der am Anfang vom Server zurückkommt, ja auch unique pro Request ist. Ich bekomme dann eben immer einen 401er.
-
Ich habe die Folge-Requests per _window.fetch _bzw. _XmlHttpRequest _gemacht und hatte das erfolgreichen Auth-Header-Result dort wieder mitgeschickt.
-
Interessanterweise hat es für (folgende) GET-Calls zum gleichen Endpoint geklappt, aber der Fall reicht mir eben nicht.
-
Ich stelle mir das so vor, dass ich also eine Art Token (oder Auth-Header) habe, den ich bei der Authentifierzung anfangs bekomme und der dann eine Weile gültig ist für weitere Calls. Am besten autorisiert sich der erste Request auf dem Endpoint /api und alle folgenden Requests nutzen die darunter liegen Endpoints (z.B. /api/categories).
Oder liege ich gänzlich falsch und ich muss mich tatsächlich für jeden API-Call erneut authentifizieren? Wäre das ganz schön performance-kostspielig?
Es wäre super, wenn mir da jemand einen Anstoß geben könnte, ich weiß langsam wirklich nicht weiter. Danke!