Avslappet Facebook lerret Symfony2 søknad

stemmer
2

Som du kanskje vet, for å kunne passere brukerens informasjon ( signed_request) til programmet ditt, Facebook-tilgang lerret (dvs: iframe) applikasjoner ved å sende dem en POSTforespørsel. Denne mekanisme er forklart her .

For å holde rolig, hva ville være det rette stedet i Symfony (som service, fil ...) for å implementere denne Ruby on Rails' triks Pierre Olivier Martel descibes her: http://blog.coderubik.com/2011/03 / fredfylt-facebook-canvas-app-med-ra ..., f.eks: konvertere hver POST-forespørsler som inneholder en 'signed_request' parameter til en GET en ?

Publisert på 10/06/2011 klokken 19:25
kilden bruker
På andre språk...                            


2 svar

stemmer
2

Inspirert fra Stuck svar (takk!) Og fra Symfony Cookbook:

# src/Acme/FacebookBundle/RequestListener.php

namespace Acme\FacebookBundle;

use Symfony\Component\HttpKernel\HttpKernelInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;

class RequestListener
{
    public function onCoreRequest(GetResponseEvent $event)
    {
        $request = $event->getRequest();
        if ('POST' == $request->getMethod() && null !== $request->get('signed_request'))
        {
            $request->setMethod('GET');
        }
    }
}

Tjeneste Definisjon:

# app/config/config.yml

services:
    acme.facebookbundle.listener.request:
        class: Acme\FacebookBundle\RequestListener
        tags:
            - { name: kernel.listener, event: core.request, method: onCoreRequest }
Svarte 19/06/2011 kl. 09:29
kilden bruker

stemmer
2

Du kan gjennomføre en RequestListener som det er gjort i RESTBundle: https://github.com/FriendsOfSymfony/RestBundle/blob/master/EventListener/RequestListener.php

Svarte 10/06/2011 kl. 22:55
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more