今日のFacebook開発者ブログ
http://developers.facebook.com/blogからの最新情報。
テストユーザーのパスワードをGraph APIを用いてリセットできるようになった。
パスワードはテストユーザーが作成されたときにしか、返されないので、
パスワードを記録するか、必要となるたびにリセットして使用する。
テストユーザーを作成し、パスワードをリセットするPHPコードの例が記されている。
"https://graph.facebook.com/oauth/access_token?" .
"client_id=" . $app_id .
"&client_secret=" . $app_secret .
"&grant_type=client_credentials"
というURLにアクセスすることで、アプリケーションに対するアクセストークンを取得する。
"https://graph.facebook.com/" . $app_id
. "/accounts/test-users?installed=true"
. "&permissions=read_stream&method=post&"
. $app_access_token;
上で取得したアクセストークンを用いて、テストユーザーを作成する。
"https://graph.facebook.com/" . $obj->{'id'}
. "?password=" . $new_password . "&method=post&" . $app_access_token;
$objはテストユーザー作成のレスポンスとして返ってきたJSONをデコードしたもの。
$new_passwordは任意のパスワードを自分で設定することができる。
アプリケーションで作成できるテストユーザーの数も500に増えた。
商品購入の直前などでは、ユーザーにパスワードを再入力させたい時がある。
https://www.facebook.com/dialog/oauthやhttps://graph.facebook.com/oauth/authorize
での認証リクエストに以下のパラメータが追加された。
auth_type:必要となる認証機能を以下のオプションから指定する。
https:セキュアなクッキーの存在を確認し、存在しなければ再認証を要求する
reauthenticate:無条件で再認証を要求する
auth_nonce:リプレー保護を行うために、アプリケーションが指定した英数字のナンスを指定する。このパラメータはオプションであるが、auth_typeにreauthenticateを指定した場合は特に、指定することを推奨する。
フォーム上のボタンを押したときに、再認証のダイアログを出すPHPのサンプルコードが示されている。