2013-10-07 3 views
0

내 앱에서 사용자가 로그인하여 OAuth를 통해 계정을 연결할 수 있어야합니다. 나는 그것을 달성하기 위해 HWIOAuthBundle과 FOSUserBundle을 사용하고있다. 그러나 문제가 있습니다 : 페이스 북이나 기타 등등을 통해 등록 할 때 User 엔티티가 자동으로 생성되어 데이터베이스에 존속되고 사용자에 대한 토큰이 생성됩니다.HWIOAuthBundle는 열심히 사용자를 만듭니다.

실제로 필요한 것은 공급자가 제공 한 데이터 만 가져 와서 사용자에게 아직 저장하지 않는 것입니다.

+0

당신이 대답을 승인 할 수있다 :

그래서 당신이 공급자에서해야 할 일은 정보 연결된 사용자가 있는지 확인하고 추가하는 것입니다? – skler

답변

0

내가 이해한다면 로그인 한 사용자에게 Facebook 정보를 추가하고 싶습니다. 이 좋은 경우

if (($this->container->get('security.context')->getToken() instanceof AbstractToken) { 
    $loggedUser = $this->container->get('security.context')->getToken()->getUser(); 
    $loggedUser->setFacebookId($fbdata['id']); 

    /* userManager is fos_user.user_manager service */ 
    $this->userManager->updateUser($loggedUser); 

    return $loggedUser; 
} 
관련 문제