API Authentifizierung über Token

  • Hallo zusammen,


    für unsere bestehenden Anbindungen an Xentral wollen wir gerne in openXE die BearerToken Authentifizierung integrieren. Hier der Branch: https://github.com/robsns/px90/tree/BearerTokenAuth

    Das war bereits ziemlich clever aufgebaut, Ich musste nur die PHP-Klasse erstellen und an den entsprechenden Stellen laden/berücksichtigen.


    Frage: Damit bei mir die API anständig mit URL rewrite funktioniert, (also ohne dieses index.php?path=/foo/bar) musste ich in meine .htaccess folgendes hinzufügen:


    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^api/(.*)$ api/index.php/$1 [L,QSA]


    Gibt es einen Grund warum die class.acl.php das nicht standardmäßig in die .htaccess schreibt?

  • Diese Collection?

    api-spec-public/postman/standard-xentral-api.postman_collection.json at main · xentral/api-spec-public
    A collection of files that covers the Xentral API's that are available to the public - xentral/api-spec-public
    github.com


    Prinzipiell könnte man die ja auch einmalig umarbeiten sodass die URLs wieder passen.


    Ansonsten denke ich wäre es sinnvolll die .htaccess individualisierbar zu machen (so wie z.b. custom.css). Momentan habe ich dazu aber keine konkrete Idee.

  • Ich würde den einfachsten Weg gehen und direkt die .htaccess anpassen. Da steht drin "# Generated file from class.acl.php" habe nur oberflächlich durch die Files geschaut, aber es sieht so aus als würde nur eine Warnung ausgegeben wenn die Datei verändert wurde. Oder wird die bei irgendwelchen Events neu geschrieben?

  • Die .htaccess ist derzeit für die Sicherheit zwingend erforderlich. Wenn diese fehlt oder falsch konfiguriert ist, dann könnten Zugriffe möglich sein, die so nicht gewünscht sind. Daher haben wir uns entschieden zumindest eine rudimentäre Prüfung vorzunehmen. Grundsätzlich kann sie aber natürlich angepasst werden - vorausgesetzt man weiß, was man tut ;)


    Ich sehe hier aber grundsätzlich auch kein Problem auf Rewrites zu setzen, da das ohnehin für jede Form von künftiger Modernisierung notwendig sein wird. Da wir derzeit (auch wegen der o.g. htaccess-Problematik) nur den Apache unterstützen und mod_rewrite inzwischen absoluter Standard ist, wird das vermutlich auch keine großen Probleme hervorrufen. Da es aber streng genommen ein breaking-change ist, würde ich eine Übernahme in den Master-Branch erst mit dem nächsten Release machen.

  • Okay, dann bin ich da entspannt. Ich wollte nur sicher gehen, dass es mir im laufenden Betrieb nicht die URL-Rewrites rauswirft und meine Anbindungen deshalb still stehen.

    Zurück zum eigentlichen Thema: Bearer Token Auth == Interesse? Soll ich einen PR machen?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!