0

Facebookのphpとjs SDKを使用するブラウザ拡張を行っています。PHPの実装されたjsスクリプトから拡張のlocalStorageにアクセストークンを渡す方法

ユーザーアクセストークンを取得する必要がありますが、js SDKをローカルで使用することはできません(facebookは拡張機能から直接接続するようにはできません)ので、私のサーバー上のPHPにjs sdkを実装する必要があります私はクッキーによる自動ログインを許可していないので、ここでphp sdkを使用することはできませんが、これが必要です)。

私のphpのjsスクリプト部分からlocalStorageにアクセストークンを転送する安全な方法はありますか?私はparent.postMessage(token、chrome:// chrome_extension_id)のようなものを使っていると思いますが、これは安全ですか?または、エクステンションのlocalStorageに何かを安全に直接接続する方法がありますか?

もう一つの方法は、私はすでにこのコードを試してみましたdevelopers.facebook.com

FacebookのPHP SDKのJavaScriptHelper使用することです:オブジェクトがでgetメソッドに渡されたとして、

$fb = new Facebook\Facebook([/*...*/]); 
$jsHelper = $fb->getJavaScriptHelper(); 
$access_token = $jsHelper->getAccessToken(); 
$_SESSION['fb_user_token'] = (string) $access_token; 

/*...*/ 

$response = $fb->get("/?id=$url&fields=share{comment_count}", $_SESSION['_fb_user_token']); 

しかし、それは動作しませんが文字列ではありません。だから私は間違いをトークンオブジェクトから文字列を取得したと思う。

答えて

0

私は元の投稿でJavaScriptHelper関数を使用して2番目のオプションを使用して解決策を得ました。

$access_token->getValue(); 

これはアクセストークン文字列を取得するためにアクセストークンオブジェクトと関係があるすべてです。

ところで、これはアクセストークンオブジェクトの利用可能な方法を得るために本当に便利でした:

array get_class_methods (mixed $class_name) 
関連する問題