Mantis BT Rest API Login

Deutschsprachiges Forum für Diskussionen und Fragen zu MantisBT

Moderators: Developer, Contributor

Post Reply
TimSch
Posts: 5
Joined: 01 Jun 2018, 17:26

Mantis BT Rest API Login

Post by TimSch »

Ich versuche aktuell, die REST API zu nutzen. Leider schlägt jeder Versuch mit diesem Fehler fehl: "Access denied for user gast".

Das merkwürdige ist, dass ich eigentlich einen Authorization header mit einem Administrator Token benutze.

Hier ist mein Versuchscall:

Code: Select all

  curl --request GET \
  --url 'http://xxx/api/rest/issues?page_size=10&page=1' \
  --header 'Authorization: GrIT1_cVQOIAuxxxxxxxxcYul85QZ2_L'
Den Token habe ich Im Benutzerkonto unter "API-Token" erstellt.

Ich benutze Version 2.13 und freue mich über jeden Hinweis.
Vielen Dank

P.S. Sorry für den doppelten Thread, ich habe übersehen, dass die Beiträge erst freigeschaltet werden und dachte mein Beitrag wäre verloren gegangen.
atrol
Site Admin
Posts: 8366
Joined: 26 Mar 2008, 21:37
Location: Germany

Re: Mantis BT Rest API Login

Post by atrol »

TimSch wrote: 01 Jun 2018, 18:03 Ich benutze Version 2.13 und freue mich über jeden Hinweis.
2.13.0 oder neuer?

Welche PHP version ist im Einsatz?
Please use Search before posting and read the Manual
TimSch
Posts: 5
Joined: 01 Jun 2018, 17:26

Re: Mantis BT Rest API Login

Post by TimSch »

Mantis Version 2.13.1
Php: 7.0.28
atrol
Site Admin
Posts: 8366
Joined: 26 Mar 2008, 21:37
Location: Germany

Re: Mantis BT Rest API Login

Post by atrol »

Sowohl in 2.13.2 als auch in 2.14.0 sind Fehler im REST Umfeld behoben.
Bevor wir hier auf weitere Fehlersuche gehen, würde ich daher erst mal updaten.

Allerdings funktioniert es bei mir auch mit 2.13.1, d.h. dass es nach einem Update funktioniert ist eher unwahrscheinlich.

Sind irgendwelche Warnungen oder Fehler in den Webserver / PHP logs enthalten?

Was passiert, wenn man sich im Browser in Mantis einloggt und dann die URL http://xxx/api/rest/issues?page_size=10&page=1 aufruft?
Please use Search before posting and read the Manual
TimSch
Posts: 5
Joined: 01 Jun 2018, 17:26

Re: Mantis BT Rest API Login

Post by TimSch »

Vielen Dank für die Rückmeldung.
Nach logs kann ich im Moment nicht schauen, wird nachgereicht.

Wenn ich die url aufrufe, ohne angemeldet zu sein, bekomme ich den gleichen Fehler wie per curl.
Wenn ich mich vorher im Bugtracker anmelde bekomme ich eine gültige Antwort.

Update:
Ich habe auf 2.14 aktualisiert, ohne Erfolg.
Die Logs für die Domain sind auch komplett leer.
atrol
Site Admin
Posts: 8366
Joined: 26 Mar 2008, 21:37
Location: Germany

Re: Mantis BT Rest API Login

Post by atrol »

Wie sehen die Einträge in der Tabelle mantis_api_token_table aus?

Die Spalte "hash" sollte den SHA256 Hash des Tokens enthalten.
Please use Search before posting and read the Manual
TimSch
Posts: 5
Joined: 01 Jun 2018, 17:26

Re: Mantis BT Rest API Login

Post by TimSch »

Ich habe mittlerweile zwei Token erstellt und in der Tabelle sind 2 Einträge zu finden.

Mal ne Zwischenfrage..
Wird ein falscher Authorization Key genauso beantwortet, wie ein fehlender?

Die Fehlermeldung sagt ja aus, dass der Zugriff für den Gastbenutzer nicht erlaubt wird, als hätte ich gar nicht versucht, mich anzumelden.

Update:
ich habe die Installation mal auf meinen lokalen Rechner gespiegelt (also gleiche Codebase und Zugriff auf die gleiche Datenbank). Hier lokal funktioniert alles wie erwartet. Hast du eine Idee, was auf dem Weg mit dem Authorization Token passiert?

Update 2:
Fehler gefunden, der Authorization Header wird von Apache geschluckt.
Folgende Zeile in den vhost Settings (oder auch .htaccess) bringt die Rettung:

Code: Select all

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Vielen Dank für die Unterstützung!
atrol
Site Admin
Posts: 8366
Joined: 26 Mar 2008, 21:37
Location: Germany

Re: Mantis BT Rest API Login

Post by atrol »

Man kann vermutlich davon ausgehen, dass noch weitere User über diese Geschichte stolpern werden.

Danke für die Lösung!
Please use Search before posting and read the Manual
stef-lhm11
Posts: 55
Joined: 28 Aug 2013, 12:32

Re: Mantis BT Rest API Login

Post by stef-lhm11 »

atrol wrote: 02 Jun 2018, 15:37 Sowohl in 2.13.2 als auch in 2.14.0 sind Fehler im REST Umfeld behoben.
Bevor wir hier auf weitere Fehlersuche gehen, würde ich daher erst mal updaten.

Allerdings funktioniert es bei mir auch mit 2.13.1, d.h. dass es nach einem Update funktioniert ist eher unwahrscheinlich.

Sind irgendwelche Warnungen oder Fehler in den Webserver / PHP logs enthalten?

Was passiert, wenn man sich im Browser in Mantis einloggt und dann die URL http://xxx/api/rest/issues?page_size=10&page=1 aufruft?
Hi Atrol,

ich bin auf Mantis 2.19.
Wenn ich im Browser die Url .../api/rest/issues?page_size=10&page=1 aufrufe, heißt es 404 The requested URL /mantis/api/rest/issues was not found on this server. Tatsächlich sehe ich unter api/rest auch kein issues Verzeichnis. Was kann ich da tun?
atrol
Site Admin
Posts: 8366
Joined: 26 Mar 2008, 21:37
Location: Germany

Re: Mantis BT Rest API Login

Post by atrol »

stef-lhm11 wrote: 30 Apr 2019, 07:22Tatsächlich sehe ich unter api/rest auch kein issues Verzeichnis.
Das ist so in Ordnung. Die URL wird über den Webserver mittels Rewrite aufgelöst.
Das geschieht im Fall von Apache über diese Datei https://github.com/mantisbt/mantisbt/bl ... /.htaccess
Möglicherweise ist im Webserver Rewrite nicht konfiguriert http://docs.slimframework.com/routing/rewrite/
Please use Search before posting and read the Manual
stef-lhm11
Posts: 55
Joined: 28 Aug 2013, 12:32

Re: Mantis BT Rest API Login

Post by stef-lhm11 »

Neben

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

in der htaccess im .../api/rest/ Verzeichnis, ist dringend noch ein

Options +FollowSymLinks +SymLinksIfOwnerMatch

vor "RewriteEngine On" erforderlich!
stef-lhm11
Posts: 55
Joined: 28 Aug 2013, 12:32

Re: Mantis BT Rest API Login

Post by stef-lhm11 »

Jetzt funktioniert es korrekt. Die Einträge in der .htaccess sind wichtig, sonst geht da nix;)
Post Reply