2012-06-27 11 views
0

페이스 북을 사용하여 사용자가 페이스 북을 사용하여 내 사이트에 로그인 할 수있게합니다. 나는 전통적인 ASP, vbscript에서 OAuth를 사용하여 서버 측 인증을 사용하고있다. 다음 중 하나가 가능한지 알고 싶습니다.로그인 한 사용자의 Facebook ID를 가져 오는 방법은 무엇입니까?

1) 사용자가 인증 대화 상자로 리디렉션하지 않고 내 앱을 승인했는지 확인할 수 있습니까? 즉, 사용자가 Facebook 로그인 버튼을 클릭하여 내 사이트에 로그인하기 전에도 현재 페이스 북에 로그인 한 사용자가 내 앱을 승인했는지 알 수있는 방법이 있습니까?

2) 현재 페이스 북에 로그인 한 사용자의 facebook 사용자 ID를 어떻게 얻을 수 있습니까? 이것은 페이스 북 인증 프로세스의 범위를 벗어납니다. 페이스 북은 페이스 북에 로그인하고 로그인 한 사용자의 페이스 북 사용자 ID를 얻을 때 설정되는 fb 쿠키를 읽을 때 사용할 수있는 API를 제공합니까?

감사

답변

1

1) 자바 스크립트 SDK에서 FB.getLoginStatus를 사용합니다.

2) 아직 앱에 연결되어 있지 않다면 전혀 그렇지 않습니다. 그렇지 않으면 1)

+0

제안 해 주셔서 감사합니다. 나는 FB.getLoginStatus()를 사용했으며 사용자가 페이스 북에 로그인하면 잘 작동합니다. 그러나 사용자가 페이스 북에 로그인하지 않으면 FB.getLoginStatus() 콜백이 호출되지 않고 콜백을받지 않기 때문에 코드에서 해당 사례를 처리 할 수 ​​없습니다. 도와주세요. –

+0

또 다른 이상한 점은 FB.getLoginStats()를 호출 할 때의 흐름입니다. 나는 FB.getLoginStatus()를 호출 한 후 코드가 FB.getLoginStatus() 전에 실행된다는 것을 알아 차렸다. 샘플 코드 : alert ("before FB.getLoginStatus()"); FB.getLoginStatus (function (response) {alert ("콜백 함수 내부");}); 경고 ("FB.getLoginStatus()"이후); fb에 로그인하면 FB.getLoginStatus() (3) 호출 후 함수 뒤에 FB.getLoginStatus() (2) 전에이 순서 (1)로 경고가 표시됩니다. fb에 로그인하지 않으면 FB.getLoginStatus() 뒤에 FB.getLoginStatus() (2) 전에이 순서 (1)로 경고가 표시됩니다. –

+0

FB.getLoginStatus는 Facebook에서 상태를 가져와야하는 비동기식 메소드이므로 코드 분기의 전체 연속을 해당 콜백의 컨텍스트에서 실행해야합니다. –

관련 문제