2012-07-17 3 views
0

사용자가 앱을 승인 할 필요가없는 앱 탭이 있습니다. 탭이 처음로드되면 다음과 같이 서명 된 요청에 액세스 할 수 있습니다. $signed_request = $facebook->getSignedRequest();사용자가 로그인하지 않은 상태에서 signed_request를 PHP SDK로 유지하는 방법은 무엇입니까?

그러면 앱이 서버에 다양한 AJAX 호출을합니다. 각 AJAX 호출에서 signed_request는 지속되지 않습니다. 나는이 AJAX 호출 중에 signed_request를 사용하여 $signed_request = $facebook->getSignedRequest();을 다시 수행 할 수 있기를 바랍니다.

나는 사용자가 로그인 할 때 JS SDK와 PHP SDK가 쿠키를 통해 signed_request를 공유한다는 것을 읽었습니다. AJAX 호출 중에 signed_request를 유지할 초기 페이지로드 중에 설정할 수있는 쿠키가 있습니까? PHP SDK를 통해 액세스 할 수 있습니까?

답변

2

각 AJAX 호출에서 signed_request는 유지되지 않습니다. 난 signed_request이 AJAX를 호출하는 동안 사용할 수 있도록하고 싶습니다 $ signed_request = $ facebook-> getSignedRequest(); 다시.

왜 그냥 AJAX 호출에 매개 변수로 추가하지 않습니까?

매개 변수 이름을 알고 계시다면 값을 알 수 있습니다. 보내시는 다른 데이터와 함께 값을 넣으십시오.

+0

내가 현재하고있는 방식은 당신이 제안하는 것보다 이미 낫습니다. '$ _SESSION [ 'signedRequest'] = $ facebook-> getSignedRequest();'그리고 나중에 : $ signed_request = $ _SESSION [ 'signedRequest'];'. 그러나 signed_request를 직접 확인해야합니다. PHP SDK에서 signed_request를 확인하고 싶습니다. –

+0

자세히 설명하는 것을 게을리하면 내가하는 일을 짐작할 수 없습니다 .- SDK는 $ _REQUEST [ 'signed_request']에서 서명 한 요청을 먼저 읽으려고합니다 .- 그래서 _there_에 넣으십시오. $ signed_request 대신에. – CBroe

+0

네, 죄송 합니다만, 질문에 "그냥 매개 변수로 추가하지 않으시겠습니까?"라고 대답하려고했습니다. 서명 된 요청을 게시하는 것은 좋은 생각이지만, 좀 더 우아한 방법이 있는지 알고 싶습니다. –

관련 문제