0

, 당신과 같이 확장 된 권한에 대한 프롬프트 수 :이 라이트 박스를 렌더링 Lightbox에서 JavaScript SDK를 사용하여 권한을 요청하는 방법이 있습니까? FBML 애플리케이션에서

Facebook.showPermissionDialog('publish_stream', callback); 

(많은 FB.ui처럼은 ({방법 : 'foo는'디스플레이 '은 iframe는'}); 않습니다) .

문서에서 볼 수있는 것부터 더 확장 된 권한을 요구하는 유일한 방법은 창을 FB.login()으로 팝업 시키거나 사용자를 oauth 대화 상자 전체로 리디렉션하는 것입니다 화면. 팝업 창은 신뢰할 수 없으며 사용자 상호 작용 흐름에는 의미가 없습니다. 왜냐하면 팝업 창이 신뢰할 수 없기 때문입니다. 라이트 박스가 의미있는 유일한 방법입니다.

의 OAuth 대화 상자가 iframe을 표시 할 수 있다면

,이 코드는 이론적으로 작동합니다 :

FB.ui({method: 'oauth', 
    display: 'iframe', 
    access_token: 'foo', 
    scope: 'publish_stream' 
    }, callback); 

그러나 OAuth를 대화 상자는 "페이지"와 "모바일"로 표시되고 지원합니다.

내가 간과 한 방법이 있습니까?

답변

0

그것에 대해 생각 : 그것은 보안 문제 때문에 그것은 iframe에 정식 대화 상자를 사용하는 과정 수없는의입니다.

팝업으로 표시하거나 리디렉션하면 사용자가 실제로 facebook.com이라는 사이트 주소를 확인할 수 있습니다.

Lightbox에서 iframe 또는 이와 유사한 방식으로 인증 대화 상자를 사용할 위치가 사용자가 로그인 양식에 입력 한 데이터인지 확인할 방법이 없습니다. 그 순간 페이스 북에 로그인하지 않았습니다.) 실제로 페이스 북에 보내집니다. 또는 서버로 데이터를 보낼 자신의 양식을 설정 한 경우, 피싱 for my Facebook 로그인 데이터 ...

+0

확장 권한 대화 상자는 사용자가 이미 표시된 URL의 인터페이스를 사용하여 로그인 한 상태이므로 확장 권한 대화 상자를 볼 수 있기 때문에 로그인 데이터를 묻지 않습니다. 실제 로그인 대화 상자에 대해 귀하가 말하는 내용을 이해했지만 확장 된 권한을 부여하는 것은 라이트 박스 iframe에 표시 될 수있는 다른 대화 상자보다 더 많은 보안이 필요하지 않은 또 다른 사항입니다. –