2013-09-03 3 views
1

아무도 내 아래 질문에 대답 할 수 있기를 바랍니다.Symfony2 HWIOauthBundle error with response

symgfony2를 사용하여 프로젝트를 실행 중입니다. Linkedin 또는 XING과 같은 외부 플랫폼에서 CV를 가져 오도록 사용자에게 제안합니다.

내가 필요한 것은 linkedin 또는 Xing을 통해 내 사이트에 로그인 할 수있는 기능을 사용자에게 제공하는 것입니다.

그래서이 HwioAuthBundle을 사용할 수는 있지만이 방법을 알아낼 수는 없습니다. ""

"" "

Controller "XXXXX\MyBundle\Controller\MyController::importProfileLinkedinAction()" requires that you provide a value for the "$response" argument (because there is no default value or because there is a non optional argument after this one). 

"순간

내가 링크드 인에 loginpage 올하지만 난 내 사이트에 돌아올 때 다음 내가 오류가 이런 식입니다 문서에 설명 된대로

나는 그것을 할 :

config.yml

논리가 많이로 번들 컨트롤러 덮어 쓰기

security.yml

 secured_area: 
     oauth: 
      resource_owners: 
       linkedin:    /login/linkedin 
      login_path:  /secured/login 
      failure_path:  /secured/login 

      oauth_user_provider: 
       oauth: ~ 

routing.yml

hwi_oauth_redirect: 
    resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml" 
    prefix: /secured/connect 

linkedin: 
    pattern: /login/linkedin 
    defaults: 
    _controller: MYBundle:MyController:importProfileLinkedin 

MyController.php

use \HWI\Bundle\OAuthBundle\OAuth\Response\UserResponseInterface; 
... 
    public function importProfileLinkedinAction(Request $request, UserResponseInterface $response) 

{ 
    $data = $response->getResponse(); /* this method should return all data that was sent from resource owner ???*/ 
    var_dump(
     $data 
    ); 
    exit; 
} 

감사

답변

2

는 나쁜 생각입니다 간단한 것보다 더 복잡하다. e 요청 및 응답을 읽습니다. official documentation을보십시오.

귀하의 문제는 번들의 내부 사용을 위해 숨겨진 만 몇 군데에 주어진 것, $response 세계적으로 노출되지 않습니다 것입니다. 이 작업을 올바르게 수행하려면 자체 공급자를 구현하고 다음 기능을 덮어 쓸 필요가 있습니다 : loadUserByOAuthUserResponse(UserResponseInterface $response), 세션에 필요한 데이터를 저장하십시오.

+0

답변 해 주셔서 감사합니다. 캐시를 삭제했는데 이제 예외가 생깁니다. 캐치되지 않는 예외 메시지 '심포니 \\ 구성 요소 \\ 구성 \\ 정의 \\ 예외 \\ InvalidConfigurationException' '경로에있는 자식 노드 "login_path는"구성해야합니다 "security.firewalls.secured_area.oauth".' – user2742271

+0

어떻게 그랬습니까? 페이스 북에서 같은 오류가 발생했습니다. ? 어떤 해결책이라도/크게. –