2014-10-17 4 views
0

Я использовал HWIOauthBundle и FOSUerBunlde для подключения к сайту, попробуйте изменить client_id и client_secret Dynamic, и у меня есть идея не делать перезапись на службу: hwi_oauth.abstract_resource_owner.oauth1, но не выполнить перезапись:hwioauth Dynamic client_id Symfony2

мой service.yml:

parameters: 
    my_user_provider.class: Wf\DeckBundle\Security\Core\User\FOSUBUserProvider 

services: 
    my_user_provider: 
     class: "%my_user_provider.class%" 
     #this is the place where the properties are passed to the UserProvider - see config.yml 
     arguments: [@fos_user.user_manager,{twitter: twitterID }] 
     arguments: [@doctrine.orm.entity_manager] 
    security_handler: #este no es necesario 
     class: Company\Bundle\Handler\SecurityHandler 
     arguments: [@router] 
    test_service: 
     class: Wf\DeckBundle\Services\TestService 
     arguments: ['@service_container'] 
    deck_user_manager: 
     class: Wf\DeckBundle\Services\DeckUserManager 
     arguments: [@security.encoder_factory, @fos_user.util.username_canonicalizer, @fos_user.util.email_canonicalizer, @fos_user.entity_manager, Wf\DeckBundle\Entity\User] 
    twitter_api: 
     class: Wf\DeckBundle\Services\TwitterService 
     arguments: [consumerKey,consumerSecret] 
    deck.user.roles: 
     class: Wf\DeckBundle\Services\RolesDeckService 
     arguments: ['%security.role_hierarchy.roles%'] 
    hwi_oauth.abstract_resource_owner.oauth1: 
     class: Wf\DeckBundle\OAuth\ResourceOwner\GenericOAuth1ResourceOwner 
     abstract: true 
     parent: hwi_oauth.abstract_resource_owner.generic 
     arguments: ['@hwi_oauth.storage.session'] 

мой класс:

<?php 
namespace Wf\DeckBundle\OAuth\ResourceOwner; 

use HWI\Bundle\OAuthBundle\OAuth\ResourceOwner\GenericOAuth1ResourceOwner as Based; 

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 

/** 
* Description of GenericOAuth1ResourceOwner 
* 
* @author francisco 
*/ 
class GenericOAuth1ResourceOwner extends Based{ 

    public function getRequestToken($redirectUri, array $extraParameters = array()) 
    { 
     $timestamp = time(); 
     \Kint::dump($timestamp); // to show pass overwrite 
     exit; 

    } 

    /** 
    * {@inheritDoc} 
    */ 


} 

но нет работы, кто-то, кто может вести меня, спасибо

ответ

1

Я решил ту же проблему (в моем случае мне нужно было заставить ее работать для facebook вместо twitter, но то же самое относится, я думаю), используя Compiler Pass и пользовательский владелец ресурса. Подробности в моем блоге: http://www.mathril.com/en/blog/8/how-to-load-facebook-client_id-and-client_secret-values-from-database-for-hwioauthbundle

+0

Пожалуйста, ответьте на вопрос здесь, вместо того, чтобы просто ссылаться на другой сайт. Другие URL-адреса будут устаревать, но если вы напишите краткий ответ здесь, он останется полезным. –

+0

Спасибо, ссылка прекрасна. – ncw2233

+0

ссылка не работает – muhsin

Смежные вопросы