Hallo!
Ich bekam den Auftrag, über SOAP mit dem Shop zu kommunizieren, um Daten in beiden Richtungen zu verarbeiten. Da ich jedoch bisher nie mit dieser Thematik (weder Magento, noch SOAP) zu tun hatte, musste ich zunächst auf Info-Suche gehen.
Wie ich das in C# abwickeln kann, ist mir mehr oder minder klar. Wo ich aber noch Verständnisschwierigkeiten habe, ist mit dem Thema Sicherheit.
In Magento muss ich zunächst eine Rolle anlegen, die "API Full Access" hat. Damit bekommen Anwender, denen diese Rolle zugewiesen wurde, Zugriff auf alle Ressourcen.
Nachdem ich die Rolle erstellt habe, erzeuge einen Benutzer, dem ich diese Rolle zuweise. Ich nenne ihn "API-Benutzer". Von ihm merke ich mir seinen Benutzernamen und Passwort (in Magento-Jargon "API-Key").
Der Client (also meine C#-Anwendung) logt sich mit Benutzernamen und API-Key ein – ich bekomme eine sog. "Session-Id" zurück, die ich fortan beim Aufrufen weiterer API-Methoden verwenden muss.
Nun meine Fragen:
Ich habe viel gesucht, aber keine abschließende Antwort gefunden. Die einen sagen, das SOAP in diesem Fall die Daten verschlüsselt überträgt, während andere SSL empfehlen. Letzteres funktioniert aber nur bis zu einem gewissen Punkt (z. B. Proxy).
Das alle verwirrt mich, da ich zwar viel über die Programmierung fand, wenig jedoch über die Sicherheitsaspekt und insbesondere in Verbindung mit Magento.
Über etwas Hilfe würde ich mich riesig freuen.
Vielen Dank!
temuco
hallo,
das mit der session id ist ein gängiges verfahren.
Das soap von natur aus verschlüsselt sein soll ist mir neu. Daher ist meine empfehlung ebenfalls SSL.
Ein proxy sollte hierbei übrigens nicht stören. was genau ist ihr problem an dieser stelle?
Von Natur aus nicht, aber es geht und das ist spezifiziert:
https://msdn.microsoft.com/de-de/library/ms996945.aspx?f=255&MSPPError=-2147217396
Daher wollte ich wissen, wie Magento das handhabt.
Kann man irgondwo nachlesen, wie Magento damit verfährt?
Herzlichen Dank!