質問: 'Thanks for logging in, ' + response.name + '!'; }); } ``` これで気になったのが、「appId」がそのままソースに出ているのですが、 これはセキュリティー上問題ないのでしょうか? (他のサイトでも見かけたので、気にしすぎかもしれませんが・・・・) あと、Javascriptで「UserID」を取得して、この内容をPHPに移して会員認証をしたいのですが、 自分がJavascriptをまだよくわかっていないので、 「$.ajax」やJSONを使うのは分かっても、そこからデータを飛ばすのが、 どうしても出来ません。 質問内容がズレてきているかもしれませんが、 最初に「PHPで同じようにする方法が分からず困ってます」と書きましたが、 それは前述の理由と、自分がPHPならまだ分かるという理由です。 JavaScript SDKでも構いません。 長文になり申し訳ありませんが、 何卒よろしくお願いします。
回答: 実際に試したわけではないのですが、 JavaScript SDKからアクセストークンを取得する例 が参考になるかもしれません。 この例では、JavaScript SDK で `FB.login` を使っていますが、替わりに `FB.getLoginStatus()` を使えば良い気がしています。PHP 側は同様の実装になるかなと思います。 (追記) 既に `FB.getLoginStatus()` をお使いのようですので、以下のようにリダイレクトすれば良いかと思います。 ``` if (response.status === 'connected') { // FBにログインしてて,このユーザはアプリ認証もとってる. // アクセストークンを取得するPHPスクリプトに利用者をリダイレクト window.location.href = '/js-login.php'; } ``` PHP側では前述のFacebookドキュメントの例にある `js-login.php` のようにアクセストークンを処理すれば良いと思います。 (追記2) そのアクセストークンを使ってグラフAPIを使ったユーザープロフィールの取得によりユーザーのIDを取得できます。 (追記3) あるいはアクセストークンからアクセストークンメタデータを取得すればユーザーのIDを取得できそうです。 * アクセストークンメタデータを取得している例 * AccessTokenMetadataのソース