Hallo,
ich arbeite derzeit an einer Webapplikation, welche die REST API von mantisBT nutzen soll. Auch wenn diese noch experimentell ist, habe ich gehofft, dass diese für meine Zwecke funktioniert.
Folgendes Szenario: Die Webapplikation läuft auf einer anderen Domain als meine mantisBT Installation. Ich habe bereits folgendes konfiguiert:
1. config_inc.php
Code: Select all
$g_webservice_rest_enabled = ON;
$t_protocol = 'https';
$g_custom_headers = array(
'Access-Control-Allow-Origin: *',
'Access-Control-Allow-Headers: authorization,content-type',
'Access-Control-Allow-Methods: POST,GET,OPTIONS'
);
Code: Select all
# Bypass default Mantis headers
$g_bypass_headers = false;
3. API Token generiert
Nun erstelle ich in meiner Webapplikation eine HTTP Anfrage wie folgt (Angular 2 + Typescript):
Code: Select all
sendReport(): Observable<Response> {
const api_token = 'XXXXXXX';
const url = 'https://XXXXXXX/mantisbt/api/rest/issues';
const headers = new Headers();
headers.append('content-type', 'application/json');
headers.append('authorization', api_token);
const params = new URLSearchParams();
params.set('id', '1');
const options = new RequestOptions({ headers: headers, search: params });
return this.http.get(url, options);
}
Ich bekomme folgende Fehlermeldung:
Code: Select all
XMLHttpRequest cannot load https://poemp.net/mantisbt/api/rest/issues?id=1. Response for preflight has invalid HTTP status code 401
Viele Grüße
Julian