Frage zur Benutzung der API



  • Hallo zusammen,
    ich arbeite mich gerade an der API ab... Zunächst wollte ich mich per login anmelden. Das zugehörige Testpäckchen sieht so aus:

    POST https://churchtools.meineDomain.de
    Content-Type: application/x-www-form-urlencoded
    q=login&email=function@meineDomain.de&password=verySecret
    

    (ich teste das per PHP Webstorm)
    Wenn ich den Request losschicke, bekomme ich folgende Antwort von unserem Server:

    POST https://churchtools.meineDomain.de
    
    HTTP/1.1 200 OK
    Server: nginx
    Date: Thu, 06 Sep 2018 21:44:09 GMT
    Content-Type: text/html; charset=UTF-8
    Transfer-Encoding: chunked
    Connection: keep-alive
    Vary: Accept-Encoding
    X-Powered-By: PHP/7.2.9
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate
    Pragma: no-cache
    Content-Security-Policy: default-src 'self'; script-src 'self' maps.google.com *.googleapis.com www.google.com *.gstatic.com js.stripe.com 'unsafe-eval'; style-src 'self' *.googleapis.com 'unsafe-inline'; font-src 'self' *.gstatic.com; img-src * data: blob; child-src * data; connect-src *; object-src 'self' www.youtube.com
    Set-Cookie: ChurchTools_mmmmmm_ctools=2m4hfn59mn7ntgpfdf81rukao9; expires=Fri, 07-Sep-2018 21:44:09 GMT; Max-Age=86400; path=/; secure; HttpOnly
    X-Powered-By: PleskLin
    

    Das sieht ja eigentlich ganz ok aus. Die zurückgelieferte HTML-Seite fängt aber so an:

    <!DOCTYPE html>
    <html lang="de">
    <head>
        <meta charset="utf-8">
        <title>My Test Church - login</title>
        <meta name="viewport"
    

    Setze ich dann folgende Abfrage ab:

    GET https://churchtools.meineDomain.de?q=churchhome&func=getMemberList
    

    kommt wieder die Loginseite als Antwort. Scheinbar mache ich hier etwas Grundsätzliches falsch. Könnte mir da ggf. jemand von euch weiterhelfen? Ich bin auch mit PHP nicht ganz so fit, da ich eher in der Java-Welt unterwegs bin...

    Wenn ich mich mit den Zugangsdaten ganz normal im Browser anmelde ist alles perfekt. D.h., die Weboberfläche funktioniert mit den Zugangsdaten.
    Besten Dank vorab und viele Grüße,
    Ralf.



  • Hallo Ralf,

    dein erster Request

    POST https://churchtools.meineDomain.de
    Content-Type: application/x-www-form-urlencoded
    q=login&email=function@meineDomain.de&password=verySecret
    

    scheint falsch zu sein. Meines Erachtens müsste das folgendermaßen aussehen ( siehe auch)

    POST https://churchtools.meineDomain.de
    Content-Type: application/x-www-form-urlencoded
    q=login/ajax&func=login&email=function@meineDomain.de&password=verySecret
    

    Besonders wichtig sind hier q=login/ajax&func=login


    Zwecks deinem zweiten Request:

    1. Die Method GET ist nicht erlaubt, der Server wird dir nen 405 Method not allowed liefern.
    2. Vergess nicht die zwei Cookies, die du beim Login-Request erhalten hast, hier mit zu schicken.

    Viele Grüße,

    Marcel

    PS: Nutze aus Sicherheitsgründen besser die Loginmöglichkeit mit Token, anstatt mit Passwort.

    PPS: Schau dir mal die Doku auf https://api.churchtools.de an. Im Speziellen https://api.churchtools.de/class-CTLoginModule.html sollte beim Login helfen. Die ist nicht vollständig und viel muss man sich zusammen reimen, aber mal ne Grundlage ;)


Anmelden zum Antworten
 

Es scheint als hättest du die Verbindung zu ChurchTools Forum verloren, bitte warte während wir versuchen sie wieder aufzubauen.