2012-06-26 2 views
1

Facebook에 액세스해야하는 페이지간에 데이터를 전달하는 데 문제가 있습니다. 여기 Facebook 인증 대화 상자 - redirect_uri에 데이터 전달

은 간단한 예입니다 :
페이지 1 - 데이터 ({STR : "123"})가 (여전히 페이스 북 접속을하지 않았다)
는 그 다음합니다 (redirect_uri로 리디렉션 facebook_authentication로 리디렉션 페이지 2)
Page 2 - 페이지 1에서 데이터를 가져와야하지만 facebook auth 대화 상자가 중단되었습니다 (2 페이지는 str 데이터를 제출하기 위해 페이스 북 액세스가 필요합니다).

1 페이지의 인증 대화 상자에서 2 페이지로 데이터를 전달할 수있는 방법이 있습니까?
다음과 같이하십시오 : auth_url..parameters ..? str = 123 그러면 2 페이지에서 얻으실 수 있습니다. $ _GET [ 'str'];

답변

1

나는 페이스 북에서 한 번 실행 중이었던 응용 프로그램을 작성했으며이 문제도 처리해야했습니다. 나는이

$sAppId = '12345567999455'; 

$sFBUrl = 'http://www.facebook.com/pages/<name>/<id>?sk=app_<app_id>&app_data=key:val;key:val'; 

$sDialogUrl = 'https://www.facebook.com/dialog/oauth?client_id=' . $sAppId . '&redirect_uri=' . urlencode($sFBUrl) 

echo "<script>top.location.href='" . $sDialogUrl . "'</script>"; 

같은 것을 사용 그리고 데이터를

내가 설명 트릭을 사용 마지막 앱의 경우

https://www.facebook.com/dialog/oauth?client_id=app_id&redirect_uri=your_url?str=123 

에 대한 솔루션을 우리에게 가져다

$aAppData = explode(';', $aSignedRequest['app_data']); 

를 구문 분석 여기 : SSO Website-Network with Facebook Login

감사합니다.

+0

하지만이 URL은 인증 대화 상자가 아닙니다. 그렇습니까? – funerr

+0

잘못된 URL을 사용했으나 이제는 정확해야합니다. –

+0

그래서 get 매개 변수를 redirect_uri ...에 추가하지만 정적 인 redirect_uri는 아닌가? (페이스 북은 특정 것을 허용합니까?) – funerr

1

우리가 OAuth를 프로세스 구현시 직면 같은 문제, 두 가지 가능한 솔루션은

  1. 이 투입 페이지 1 쿠키에 데이터를 저장하고 페이지에 2
  2. 다른 솔루션을 쿠키를 읽을 수있는 세션의 데이터. 이 사용자 특정 데이터의 경우


나는를 사용하도록 알려 드릴 것입니다.

관련 문제