Netcup Node API

  • Hallo zusammen,


    Ich wollte hiermit auf meine jüngste Veröffentlichung, der Netcup Node (netcup-node) Bibliothek aufmerksam machen. Hintergrund davon ist, dass man programmatisch mit der CCP API von Netcup über Javascript/Nodejs interagieren kann. Die Bibliothek kann serverseitig, aber eventuell auch in einer Webanwendung eingebunden werden. Als Referenz habe ich die Netcup API Doku verwendet und arbeite bislang zunächst an der Implementierung der Rest Schnittstelle.

    Das Projekt, inkl. Quelltext ist hier auf GitHub zu finden: https://github.com/proohit/netcup-node

    Des Weiteren sind bereits erste Versionen auf npm veröffentlicht: https://www.npmjs.com/package/netcup-node

    Schaut gerne vorbei und lasst gerne Feedback da. Bei Problemen kann bequem und transparent ein Issue auf GitHub erstelllt werden: https://github.com/proohit/netcup-node/issues/new


    Viele Grüße und happy open sorcering

    Einmal editiert, zuletzt von prohit () aus folgendem Grund: Anmerkung über Ort des Threads entfern

    Gefällt mir 7
  • Hallo prohit,

    ich hab deinen Beitrag hierher verschoben, denn du hättest schon absolut Recht gehabt damit, es hier zu platzieren. :) :thumbup:
    Der Bereich hier ist relativ neu, darum waren hier vor deinem Beitrag noch keine zu sehen.


    Liebe Grüße,
    Claudia M.

    Vielen Dank!

    Übrigens: Falls es den Qualitätsanforderungen von Netcup entspricht, wäre das Projekt sicherlich auch interessant für die API-Clients Seite https://www.netcup-wiki.de/wiki/API_Clients

  • Ich wollte noch eine Kleinigkeit ergänzen/korrigieren. Ich hatte Eingangs erwähnt, dass man die Bibliothek auch eventuell im Browser benutzen könnte. Das ist zunächst vom NPM Paket her richtig, über npm i netcup-node hätte man einen API Client auch im Frontend.


    Allerdings blockiert Netcup CORS Anfragen, sprich Anfragen die von einer anderen Domain ausgehen. Üblicherweise sitzt eine custom Webanwendung nicht unter der netcup.net Domain, demnach werden grundsätzlich alle Anfragen blockiert (bis auf eine whitelist, das CCP läuft auch nicht unter netcup.net)^^ Außer Mitarbeitende bei Netcup benutzen die library für eine ihrer Anwendungen, die hätten da keine Probleme :D


    Dh es ist nur möglich die API im frontend zu benutzen, wenn man noch ein kleines backend dazwischenschaltet, welches die netcup-node library benutzt.


    So zumindest mein Kenntnisstand. Falls jemand eine Lösung dafür hat, bin ich gerne lernbereit :).

  • Hay,


    also wenn die Lib von irgendwo her funktioniert (also auch auf nicht-netcup-Servern) und nur im Browser nicht funktioniert, dann ist es nicht netcup, dass die Anfragen blockiert, sondern der Browser an sich lässt sie nicht durch - das ist die eigentliche Definition von CORS. CORS ist ein client issue. In dem Fall kann man einen Proxy wie z.B. fiddler von telerik benutzen und die Cors-Header der Server-Response einfach rausfiltern... und dann klappts auch mit dem Browser...


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Hay,


    also wenn die Lib von irgendwo her funktioniert (also auch auf nicht-netcup-Servern) und nur im Browser nicht funktioniert, dann ist es nicht netcup, dass die Anfragen blockiert, sondern der Browser an sich lässt sie nicht durch - das ist die eigentliche Definition von CORS. CORS ist ein client issue. In dem Fall kann man einen Proxy wie z.B. fiddler von telerik benutzen und die Cors-Header der Server-Response einfach rausfiltern... und dann klappts auch mit dem Browser...


    CU, Peter

    Ja richtig, das ist der Workaround, den ich mit dem Backend dazwischen meinte, sodass man auf Entwicklerseite eine Lösung hat. Das liegt aber, wie du richtig gesagt hast, daran, dass Netcup keine beliebigen Origins explizit über die Header (Access-Control-Allow-Origin) zulässt und der Browser demnach den Request nicht zulässt. Man könnte natürlich auch auf Browserseite den Request intercepten, beispielsweise per Extension, aber welcher normale User hat das? :D


    Zudem bräuchte man halt einen zusätzlichen Server. Aber ja, es liegt nicht am package, dennoch ist es ohne weiteres nicht im Browser nutzbar.

  • Ist auch gut so dass das nicht geht. Sonst stehen die SCP Zugangsdaten am Ende im Frontend Java Script Code. 😄🙈

    Idealerweise speichert man die nicht hart, sondern lässt die per Form o.ä. eingeben und schickt die zusammen an die API. Per HTTPS sollte zumindest unterwegs alles verschlüsselt sein. Wer Monitoring Extensions/Keylogger o.ä. installiert hat, die schon vorher mitlesen können, der hat wahrscheinlich noch an vielen anderen Stellen im Web ein großes Problem…

  • Hay,

    Und Kommentare wie "minified code liest doch niemand!" gehört.

    ... und um diesen Gerücht endgültig die Existenzberichtigung zu entziehen: Jobbedingt lese ich minifiziertes JavaScript, ich debugge minifiziertes JavaScript und entwickle Workarounds um den enthaltenen Mist, der meist die Ursache dafür ist, warum unsere Software nicht richtig funktioniert.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

    Ente gut, alles gut 1
  • Die letzte Antwort auf dieses Thema liegt mehr als 365 Tage zurück. Das Thema ist womöglich bereits veraltet.