Ankündigung

Einklappen
Keine Ankündigung bisher.

Laravel / Custom Service Provider / Authentication against 3rd party API

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Laravel / Custom Service Provider / Authentication against 3rd party API

    Hallo,

    ich hätte mal eine Frage zu Custom Service Providern in Laravel - vielleicht liest ja zufällig ein Kundiger diese Zeilen..

    Momentan schreibe ich eine App mit Laravel, welche sich mit der Rest Api von Redmine verbindet. Genauer gesagt: Mit einer firmeneigenen Redmine Instanz, welche für einen Zugriff auf die Rest Schnittstelle Basic Auth erwartet, d.h. username/password oder einen

    Api Key. (username/password wurden seinerzeit für etliche Mitarbeiter angelegt und in der Instanz gespeichert)


    Mein Laravel backend funktioniert demnach nach dem proxy pattern - frontend wählt eine Route, die im backend für den http request an Redmine sorgt.

    Vorerst muss allerdings beim initialen Request, wenn der Client seine Redmine credentials im Frontend-Login eingibt (custom login, nicht das von Laravel bereitgestellte), die Validität der eingegeben Zugangsdaten geprüft werden.

    Kurz gesagt: Kommt was zurück von Redmine, sind die credentials valide, so dass ich in der Session Username u. Passwort speichern und für jeden Folge-Request nutzen kann (bis sich der User ausloggt und die Session zerstört wird)


    So weit funktioniert das zwar, aaaber:

    Meine Herangehensweise ist sehr unorthodox und ich würde sogar sagen - konzeptionell grundlegend falsch.

    Im Grunde decode ich die json-response nur, und leite das assoziative Array an die blade view weiter, ohne es (wie ich es eigentlich auch von PDO von früher kenne bzw. wie es eloquent/docrine auch handhaben) in ein Objekt zu überführen..

    Meine Überlegung ist jetzt Folgende: Um meinen Code etwas zu verbessern, könnte ich über die response iterieren und quasi manuell Objekte erzeugen.

    Oder ich nutze einfach eine Zusatzbibliothek dafür: Nennt sich "kbsali" und ist ein Redmine client.

    Meine Fragen:

    1. Wie bindet man so einen Client in Laravels Service Container ein, wenn dieser Client für seine Instanziierung besagte Zugangsdaten benötigt?

    2. Wäre es damit getan, diesen Client einzubinden oder ist er letztlich nur eine Vereinfachung der Http Requests und das Umwandeln in Objekte müsste ich dennoch machen?


  • #2
    Soviel zu der häufig angepriesenen Hilfsbereitschaft innerhalb der Laravel community. 51 Aufrufe 0 Antworten! Bin begeistert!

    Kommentar


    • #3
      ich hab keine ahnung von lavarel, bin hier u8r interessierter lesen und weiss auch nicht, inwieweit du hier richtig bist, wenn du speziell die lavarel community ansprechen willst.
      kann ja sein, keiner ist der super lavarel profi von deinen 51 klicks ...

      ich poste hier den post, weil ich nicht ganz verstanden habe, was du warum tust.


      Mein Laravel backend funktioniert demnach nach dem proxy pattern - frontend wählt eine Route, die im backend für den http request an Redmine sorgt.
      redmine ?

      der ganze content sowie die auth sachen macht
      wieso nutzt du überhaupt lavarel ?

      Kommentar


      • #4
        Moin,
        zunächst mal: die Hommage an Ken Follet gefällt mir!
        Zu Deiner Frage: Ich kann mich irren, aber ich dachte, ich sei im Kanal frameworks für einsteiger/fortgeschrittene gelandet...ich vermute mal, dass meine Frage einfach zu unterkomplex ist, dass es einer Beantwortung bedürfe.
        Warum überhaupt ein Framework? Gute Frage! Ich bin mittlerweile auf dem Stand, mir ein eigenes zu schreiben (Routing, DI-Container, etc), nur kommen die Frameworks (symfony, laravel, name it) eben standardmässig mit diesen Features daher, was die Entwicklung sehr beschleunigt..
        Aber egal, ich habs mittlerweile gelöst. Vielen Dank trotzdem für die Antwort!

        Kommentar


        • #5
          Stimmt, der kanal ist richtig, was nicht heisst irgendein lavarael profi dass gesheen hat.
          leider hast du meine frage missverstanden, die frage war nicht, wieso ein framework, sondern wieso du den content nicht direkt auslieferst.
          ich hatte es so verstanden, dass lavarel bei dir nur die aufgabe hat, den content so wie er ist an den client weiterzuleiten.


          Kommentar

          Lädt...
          X