2013-06-12 4 views

risposta

0

Sembra che il pacchetto non supporti proprietari di risorse personalizzate senza modificare direttamente il pacchetto (questo è solo a prima vista, non ho mai effettivamente utilizzato questo pacchetto).

Il file oauth.xml (https://github.com/hwi/HWIOAuthBundle/blob/master/Resources/config/oauth.xml) collega a ciascuno dei proprietari di risorse esistenti, quindi suppongo che potresti dare un'occhiata a uno di quelli collegati qui che sarebbe un buon punto di partenza.

0

Secondo lo bundle documentation è possibile farlo.

Credo che utilizza il classe GenericOauth2ResourceOwner si trova nella cartella vendor fascio HWI \ Bundle \ OAuthBundle \ OAuth \ ResourceOwner.

4

Ho scavalcato il proprietario della risorsa HWIOAuthBundle linkedin, perché avevo bisogno di gestire le eccezioni di connessione. È possibile utilizzare un passaggio del compilatore per fare questo:

namespace UserAccountBundle\DependencyInjection\Compiler; 

use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; 
use Symfony\Component\DependencyInjection\ContainerBuilder; 

class OverrideServiceCompilerPass implements CompilerPassInterface 
{ 
    public function process(ContainerBuilder $container) 
    { 
     $definition = $container->getDefinition('hwi_oauth.resource_owner.linkedin'); 
     $definition->setClass('UserAccountBundle\OAuth\MyLinkedInResourceOwner'); 
    } 
} 

Poi, nel tuo bundle:

namespace UserAccountBundle; 

use Symfony\Component\HttpKernel\Bundle\Bundle; 
use UserAccountBundle\DependencyInjection\Compiler\OverrideServiceCompilerPass; 
use Symfony\Component\DependencyInjection\ContainerBuilder; 

class UserAccountBundle extends Bundle 
{ 

    public function build(ContainerBuilder $container) 
    { 
     parent::build($container); 

     $container->addCompilerPass(new OverrideServiceCompilerPass()); 
    } 
} 

Maggiori info su sostituzioni di fascio: http://symfony.com/doc/current/cookbook/bundles/override.html

+0

Confermo che grande lavoro in questo modo! – Bruno