Operation Developer LoveのリリースでFacebookログインができなくなった件


(16:23)この問題はバグということで、既に解消しているらしい。

 以前、Twitterで古いエンドポイントが削除された件を書いたが、Facebookでも今日 2/6 で古いログインダイアログのエンドポイントが削除されたらしい。これにより、認証ダイアログにリダイレクトさせても以下のようにエラー表示になる。

Facebookログインに失敗

 バグチケットが切られている(Bugs: Enabling Facebook Breaking Changes Feb 2013 Does Not Work)のでバグかも知れないが、リダイレクト先を変更するだけで対応できる。

 Pinterest や Wantedly などもこれに巻き込まれているらしいこの件の対応だが、これまでは認証時に https://graph.facebook.com/dialog/oauth などにリダイレクトさせていた場合、graph ではなく www.facebook.com にリダイレクトさせる必要がある。他に、app_id でアプリIDを、next でリダイレクト先 URL を指定している場合はそれぞれ client_id と redirect_uri に変えるだけで大体は対応できる。ただ、Facebook のログインダイアログの URL はあくまでFacebookドキュメントのOAuth Dialogにある URL なので、この仕様に準拠しているかどうか確認はしておいたほうがいいと思う。

(2/7追記) 今回のバグについては、Auth Dialogの不具合と今後の対応 : Facebook開発者向けドキュメントの日本語訳とTips が詳しい。