2011-07-24 11 views
0

私はFacebook Appのオフラインアクセスを設定しようとしています。 javascriptの部分は、ユーザーが全く認証されている場所にあります。しかし私は私の人生のための認証データをjavascriptからPHPに送信することはできません。 JavascriptからPHPへのFacebook認証の受け渡し

は基本的に私はjavascriptの getSession方法からaccess_tokenはを取得していますし、私はしかし、PHP SDKは、アクセストークンは、アプリケーションのアクセストークンと鶏を一致していることを検出し、 access_token=<URL_ENCODED_ACCESS_TOKEN>と私のPHPの要求を行います。

私のアクセストークンがアプリケーションのものである理由はわかりません。おそらく私は開発者だからですか?

$access_token = $this->getAccessToken(); 
if ($access_token && 
    $access_token != $this->getApplicationAccessToken() && 
    !($user && $persisted_access_token == $access_token)) { 
    $user = $this->getUserFromAccessToken(); 
    if ($user) { 
    $this->setPersistentData('user_id', $user); 
    } else { 
    $this->clearAllPersistentData(); 
    } 
} 

ラインを強調するように見えることはできません、それはこの行です::何が価値がある、これは私のFacebookのSDKのベイルがラインであるために

$access_token != $this->getApplicationAccessToken() && 

ことができます誰もJavascriptから認証されたユーザーをPHPに渡す方法を教えてください。

また、ユーザーがオフラインアクセスを許可しているので、後で使用するためにこのアクセストークンを保存できるとしますか?

は、その後、AJAXはそれを行うための最善の方法であるとgetAccessToken()関数は、基本的に唯一のユーザーのアクセストークンを取得していない場合にはJavascriptとPHPの両方は、あなたがそれを行うことを可能にするだけでなく、クッキーを使用してみてください、あなたに

+0

私はAJAXを使用していますが、どのように違いがあるか分かりません。どちらの方法でも、PHPはGETパラメータ内のアクセストークンを持つHTTPクエリからの入力を受け取ります。 – Naatan

答えて

0

最後に、アクセストークンをGETパラメータとして渡し、アクセストークンを手動で提供するAPI呼び出しを使用して解決しました。私はこれを自動的に処理する方法を理解することができませんでした。

0

ありがとうございましたユーザーが接続されていて、ユーザーが接続されていない場合は、アプリケーションのアクセストークンを取得し、getUser()を取得し、取得したものを表示します。ユーザーのIDを取得すると、ユーザーはアプリケーションに接続され、 、ユーザーは接続されていません。

関連する問題