Ergebnis 1 bis 7 von 7

Thema: Contao Manager API - Session - Statusabfragen erzeugen Fehlercode 401

  1. #1
    Contao-Nutzer
    Registriert seit
    01.08.2022.
    Beiträge
    4

    Standard Contao Manager API - Session - Statusabfragen erzeugen Fehlercode 401

    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);
      });

  2. #2
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.333
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Vielleicht ja schon:
    Code:
    baseURL: "https://xxx/contao-manager.phar.php",
    vs.
    Code:
    baseURL: "http://xxx/contao-manager.phar.php",

  3. #3
    Contao-Nutzer
    Registriert seit
    01.08.2022.
    Beiträge
    4

    Standard

    Vielen Dank für die schnelle Reaktion.

    "http://xxx/contao-manager.phar.php" hat leider auch nicht funktioniert.

  4. #4
    Contao-Nutzer Avatar von agonyz
    Registriert seit
    10.09.2020.
    Beiträge
    36

    Standard

    Zitat Zitat von mschlieper Beitrag anzeigen

    HTML-Code:
          headers: {
            "Content-Type": "application/json",
            "contao_manager_auth":token, //????
            "Contao-Manager-Auth":token,  //????
            "Authorization":  token,       //???? Authorization: Bearer  
          },
    Blöde Frage, aber gibst du dabei alle von dir hier aufgelisteten headers an?
    Also contao_manager_auth, Contao-Manager-Auth und Authorization?

  5. #5
    Contao-Nutzer
    Registriert seit
    01.08.2022.
    Beiträge
    4

    Standard

    Es ist leider total egal welche Header - Kombination ich ausprobiert habe, keine funktionierte. Also von den "contao_manager_auth, Contao-Manager-Auth und Authorization", habe ich immer nur einen getestet, daher die Fragezeichen hinter den Zeilen.

  6. #6
    Contao-Nutzer Avatar von agonyz
    Registriert seit
    10.09.2020.
    Beiträge
    36

    Standard

    Zitat Zitat von mschlieper Beitrag anzeigen
    Es ist leider total egal welche Header - Kombination ich ausprobiert habe, keine funktionierte. Also von den "contao_manager_auth, Contao-Manager-Auth und Authorization", habe ich immer nur einen getestet, daher die Fragezeichen hinter den Zeilen.
    So wie ich die Dokumentation verstanden habe, benötigst du bei der CookieAuthentication gar keinen von dir gesetzten Header angeben, da dort der gesetzte Cookie genügen sollte.
    Wenn du es über die TokenAuthentication machen willst, müsstest du meiner Einschätzung nach zuerst ein Token für deinen User generieren:
    - https://docs.contao.org/dev/internal...ugh-api-tokens
    - https://contao.github.io/contao-mana...D~1tokens/post

  7. #7
    Contao-Nutzer
    Registriert seit
    01.08.2022.
    Beiträge
    4

    Standard

    >>>So wie ich die Dokumentation verstanden habe, benötigst du bei der CookieAuthentication gar keinen von dir gesetzten Header angeben, da dort der gesetzte Cookie genügen sollte.
    So hatte ich das auch verstanden und probiert.

    https://contao.github.io/contao-mana...i~1session/get

    im ersten Schritt möchte ich nur den Session-Status abfragen. Vielleicht habt ihr ein kleines Beispiel, wie das oder etwas anderes in der API funktioniert? Ich denke, dass ich etwas übersehen habe.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •