Page 1 of 1

Mantis BT Rest API Login

Posted: 01 Jun 2018, 18:03
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.

Re: Mantis BT Rest API Login

Posted: 01 Jun 2018, 19:32
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?

Re: Mantis BT Rest API Login

Posted: 01 Jun 2018, 20:21
by TimSch
Mantis Version 2.13.1
Php: 7.0.28

Re: Mantis BT Rest API Login

Posted: 02 Jun 2018, 15:37
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?

Re: Mantis BT Rest API Login

Posted: 02 Jun 2018, 20:08
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.

Re: Mantis BT Rest API Login

Posted: 03 Jun 2018, 09:13
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.

Re: Mantis BT Rest API Login

Posted: 04 Jun 2018, 12:09
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!

Re: Mantis BT Rest API Login

Posted: 04 Jun 2018, 14:00
by atrol
Man kann vermutlich davon ausgehen, dass noch weitere User über diese Geschichte stolpern werden.

Danke für die Lösung!

Re: Mantis BT Rest API Login

Posted: 30 Apr 2019, 07:22
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?

Re: Mantis BT Rest API Login

Posted: 01 May 2019, 10:21
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/

Re: Mantis BT Rest API Login

Posted: 07 May 2019, 07:38
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!

Re: Mantis BT Rest API Login

Posted: 08 May 2019, 09:02
by stef-lhm11
Jetzt funktioniert es korrekt. Die Einträge in der .htaccess sind wichtig, sonst geht da nix;)