Hallo zusammen,
ich möchte die Contao Manager API (siehe https://contao.github.io/contao-manager/api/index.html) nutzen.
Ich versuche den Status der aktuellen Session abzufragen.
Das erzeugen einer Session funktioniert vorzüglich (Status 200, plausibles JSON und gültiges Token). Der zweite Schritt, den Status abzufragen erzeugt den Fehlercode:
"Request failed with status code 401" - user not authentificated
Das Ganze ist in NodeJS entwickelt.
Nun meine Fragen: Hat jemand Erfahrung mit dieser API? Gibt es Beispielsourcen?
Vielen Dank
HTML-Code:
var request = require("request");
const LoginData = JSON.stringify({
username: "user",
password: "password",
});
const axios = require("axios");
//==================================================================
// 1. Schritt: LOGIN und Create Session -funktioniert
//==================================================================
axios({
withCredentials: true,
method: "post",
baseURL: "https://xxx/contao-manager.phar.php",
url: "/api/session",
headers: {
"Access-Control-Allow-Origin": "*",
"content-type": "application/json",
},
data: LoginData,
})
.then(function (response) {
console.log(response.data);
console.log(response.status);
console.log(response.statusText);
console.log(response.headers);
console.log(response.config);
// den Token laden
var token=response.headers["set-cookie"][0].split("=")[1].split(";")[0];
//===========================
console.log(token);
//==================================================================
// 2. Schritt:Session Status abfragen - funktioniert NICHT!!!
//==================================================================
axios({
withCredentials: true,
method: "get",
baseURL: "http://xxx/contao-manager.phar.php",
url: "/api/session",
headers: {
"Content-Type": "application/json",
"contao_manager_auth":token, //????
"Contao-Manager-Auth":token, //????
"Authorization": token, //???? Authorization: Bearer
},
dataType: "json",
})
.then(function (response) {
console.log(response.data);
console.log(response.status);
console.log(response.statusText);
console.log(response.headers);
console.log(response.config);
})
.catch(function (error) {
console.log(error);
});
})
.catch(function (error) {
console.log(error);
});
Lesezeichen