Ergebnis 1 bis 12 von 12

Thema: facebook App

  1. #1
    Contao-Nutzer
    Registriert seit
    30.12.2010.
    Ort
    Hainfeld
    Beiträge
    46
    Partner-ID
    8829

    Standard facebook App

    Hallo zusammen,

    ich muss das Thema leider nochmal aufgreifen, da die bis jetzt gefundenen Antworten nicht wirklich hilfreich waren.

    Ausgangssituation:
    ich muss eine Seite (v3.5.6) als facebook APP (iframe) in Facebook einbinden. Dazu habe ich einen eigenen Seitenbaum mit dieser speziellen Seite Mittagsmenü (Inhalt kommt von einer anderen Seite) erstellt.
    Anzeige funktioniert, Seite wird ausserhalb Facebooks auch richtig angezeigt.

    Innnerhalb Facebooks kommt natürlich "Ungültiger Anfrage-Token".
    Ich habe jetzt mal die Anfrage-Tokens deaktiviert.

    Meine Frage nun, gibt es einen Weg, die Anfrage-Tokens nur für einen Seitenbaum zu deaktivieren, bzw mit welchen "Problemen" muss ich rechnen, wenn die Anfrage-Tokens deaktiviert bleiben?



    Besten Dank
    Andreas

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Zitat Zitat von arillus.at Beitrag anzeigen
    Innnerhalb Facebooks kommt natürlich "Ungültiger Anfrage-Token".
    Warum ist das für dich "natürlich"? Was passiert auf der Seite?

  3. #3
    Contao-Nutzer
    Registriert seit
    30.12.2010.
    Ort
    Hainfeld
    Beiträge
    46
    Partner-ID
    8829

    Standard

    "natürlich" heißt für mich, dass der Token, wenn die Seite aus Facebook heraus aufgerufen wird nicht stimmt und Contao dadurch eine Fehlermeldung ausgibt.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Warum wird ein Token benötigt - und warum funktioniert dieser nicht in einem iframe?

  5. #5
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Was genau ist das für eine App? Manche verlangen ein Facebook Developer Account bei denen die Apps "registriert" sind.

  6. #6
    Contao-Nutzer
    Registriert seit
    21.02.2012.
    Beiträge
    57

    Standard

    Moin,

    habe hier auch das Problem bei der Einbindung in einen Facebook-Reiter.

    Ich habe eine Händlerkarte mit der Google-Maps-Erweiterung erstellt, die auf einer extra Unterseite ohne das allgemeine Layout zu erreichen ist.

    Sobald ich diese URL über Facebook-Developers einem Reiter zuweise kommt der Fehler mit dem Request-Token.

    Kennt ansonsten jemand das Problem oder im besten Fall eine Lösung?

    Gruß
    Karsten

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Der Fehler passiert, weil Facebook zuerst den signed request als POST Request an die App sendet. Dieser POST Request ist für Contao natürlich ungültig, weil er keinen Request Token enthält. Du musst den Signed Request also entweder vorher abfangen oder in Contao die Request Token Validierung deaktivieren.

    Abfangen könntest du den signed request in einem initializeSystem Hook:
    PHP-Code:
    public function interceptSignedRequest()
    {
        if (isset(
    $_POST['signed_request']))
        {
            
    // optionally do something with the signed request
            // …

            // reset $_POST 
            
    $_POST = array();
        }

    Dieser Hook wird vor der Request Token Validierung ausgeführt: https://github.com/contao/core/blob/...alize.php#L243

    Alternativ reicht auch folgender Code in der initconfig.php
    PHP-Code:
    if (isset($_POST['signed_request']))
    {
        
    // reset $_POST 
        
    $_POST = array();

    Die initiconfig.php wird ebenfalls vor der Request Token Validierung inkludiert.

    (alles ungetestet)
    Geändert von Spooky (28.04.2016 um 15:16 Uhr)

  8. #8
    Contao-Nutzer
    Registriert seit
    21.02.2012.
    Beiträge
    57

    Standard

    Vielen Dank für deine Antwort.

    Leider klappt es mit dem Eintrag in die initconfig.php nicht, der Fehler taucht bei Facebook immer noch auf.

    Ist es entscheidend welche Contao-Version benutzt wird? Die entsprechende Seite läuft noch auf einer alten 2.11 Version.

    Das Abfangen mit der anderen Methode verstehe ich leider nicht so ganz, da muss ich mich nochmal weiterbilden...

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Probier's mal hiermit in der initconfig.php:
    PHP-Code:
    if (isset($_POST['signed_request']) && !defined(BYPASS_TOKEN_CHECK))
    {
        
    define(BYPASS_TOKEN_CHECKtrue);


  10. #10
    Contao-Nutzer
    Registriert seit
    21.02.2012.
    Beiträge
    57

    Standard

    Nö, leider keine Veränderung.
    Danke für deine Mühe.

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Füge mal
    PHP-Code:
    var_dump($_POST); 
    in die initconfig.php ein, damit du überhaupt mal überprüfen kannst ob und was Facebook da per POST Request sendet.

  12. #12
    Contao-Nutzer
    Registriert seit
    21.02.2012.
    Beiträge
    57

    Standard

    Ups, ist mir jetzt ein wenig peinlich, aber muss ich jetzt durch...
    Ich Vollhonk war im falschen Verzeichnis auf dem Server, kein Wunder das Änderungen an dem PHP nix gebracht haben.

    Die von dir zuerst gepostete Lösung hat funktioniert, also folgendes in die initconfig.php einfügen:

    PHP-Code:
    if (isset($_POST['signed_request'])) 

        
    // reset $_POST  
        
    $_POST = array(); 

    Vielen Dank nochmal für deine Hilfe
    Karsten

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
  •