API Authentifizierung-Problem



  • Hallo,

    ich habe eine Problem mit der ChurchTools Authentifizierung. Ich habe mich für die Implementierung der Authentifizierung an die Demo auf Github gehalten.

    Das ganze funktioniert eigentlich auch wunderbar nur habe ich Probleme, wenn in einem Passwort das Sonderzeichen "&" einegsetzt wird, deklariert ChurchTools die Login-Daten als falsch (obwohl sie korrekt sind). Sobald ich das Sonderzeichen "&" aus dem Passwort entferne, nimmt ChurchTools die Login-Daten wieder an.

    Meine Vermutung ist, dass es ein Problem mit dem URL-En bzw. Decoding gibt. Denn die PHP-Funktion http_build_query baut einen String zusammen, der via POST Request an die ChurchTools API geschickt wird. Sowohl die Emailadresse als auch das Passwort bekommen einen URL-Encoding. Testweie hatte ich auche einmal das URL-Decoding für das Passwort deaktiviert, nur führt das natürlich ebenfalls zu einem Fehler, weil das "&" im Passwort dann dazu führt, dass quasi ein weitere Parameter im POST Request eingeleitet wird, obwohl er eigentlich Bestandteil des Passwortes ist. Ich vermute das entweder es auf der ChurchTools Seite ein Problem bei URL-Decoding des Passwortes gibt, wenn ein "&" enthalten ist oder das an meiner PHP-Installation nicht stimmt.

    Kann dieses Problem irgendjemand bestätigen bzw. könnt Ihr eine API-Authentifizierung druchführen, wo das Passwort ein "&" enthält?

    Grüße Immanuel



  • Ich habe dasselbe Problem. Das gilt aber nicht nur für "&", sondern auch für andere Sonderzeichen wie "?", welche für URL's verwendet werden.


  • ChurchToolsMitarbeiter

    @immi Könntest du deinen Code auf GitHub stellen? Dann können wir uns einfacher anschauen was da schief läuft.



  • @davidschilling also der Code zur Authentifizierung entspricht nahezu 1:1 dem was jmrauen dazu auf GitHub veröffentlicht hat (siehe hier). Der relevante Teil ist ja die Funktion sendRequest() und die stimmt 100% mit der GitHub Version überein.

    @moensch welche PHP Version nutzt eucher ChurchTools?