0
에서

을 콜백을 처리하는 동안 이메일 FB 계정에 연결하기 : 나는 (이메일/비밀번호를 사용하고 FB 계정을 사용) 내 응용 프로그램에서 사용자를 인증하기 위해 두 가지를 지원하려는시나리오 다음을 고려 페이스 북

  • .
  • 사용자가 전자 메일 ([email protected])을 사용하여 신청서에 가입했습니다.
  • 나중에 FB 계정을 사용하여 로그인하려고합니다 (전자 메일/이메일을 사용하여 가입 할 때 사용한 전자 메일 주소와 동일 함).)

this 튜토리얼에 따르면, 페이스 북에서 콜백을 처리하는 것은 로그인하기) 아래처럼 (그리고 완벽하게 잘 작동한다 동안 :

@RequestMapping("/auth/facebook/callback") 
public RedirectView callBack(@RequestParam("code") String code, 
          @RequestParam("state") String state, 
          HttpSession session) { 
    String stateFromSession = (String) session.getAttribute(STATE); 
    session.removeAttribute(STATE); 
    if (!state.equals(stateFromSession)) { 
    return new RedirectView("/login"); 
    } 

    AccessGrant accessGrant = getAccessGrant(code); 

    String facebookUserId = getFacebookUserId(accessGrant); 
    session.setAttribute("facebookUserId", facebookUserId); 
    return new RedirectView("/logged-in"); 
} 

질문 문제는 페이스 북 사용자 ID로 어떻게 FB 사용자 아이디만을 알고 있으며 자신의 인증 토큰을 사용하여 이메일을 검색하는지 모르기 때문에 이미 내 이메일에 데이터베이스에있는 사용자가 있는지 확인할 수 있습니까? FB 그래프?

목표 제 질문에 대한 답변을 드리겠습니다. 내가 성취하려고 시도하는 것은 이메일과 비밀번호를 FB 계정으로 등록하여 만든 사용자 계정을 내 애플리케이션에 추가 옵션으로 제공하는 것입니다.

답변

1

오, 방금 혼자서 대답을 찾았습니다. AccessGrant는 (나 자신이 이메일의 인출 할 수있는 권한이 부여 된 해당 사용자를 가정) 지금은 이메일을 얻을 FB 사용자 ID 및 액세스 토큰을 사용하여 FB 그래프를 호출 할 수 있습니다

accessGrant.getAccessToken() 

accessToken

를 반환하는 방법이있다.