Facebook APIのcallbackで(指定されたURLは、アプリケーションの設定で許可されていません。)になってドはまりした
Facebookのアプリなんて今更誰が作るのかというのはおいといて、facebook apiを野暮用で使うことになったが、このcallbackで苦労した・・。
php-sdk-4を使ってfacebook loginを使おうとしていたけど、ちゃんと実装はできていてfacebookに遷移まではするが、そこで↓こういうエラーが出てしまう。
指定されたURLは、アプリケーションの設定で許可されていません。: 指定されたURLの中にアプリの設定で認められないものが含まれています。ウェブサイトまたはキャンバスのURLと一致しているか、ドメインがアプリのドメインのサブドメインである必要があります。
で、何がいけないのかと思ってfacebook apiのcallback urlについて調べるとlocalhostを指定することができないという記事がたくさんヒットする。
http://stackoverflow.com/questions/5133075/running-facebook-application-on-localhost
こういう理由でlocalhostはダメだからこうしろとか、色々書いてある。
(余談ですが↑の回答者が書いてるリンク先に飛んだらPHPのエラーが超表示されてて全く参考にしたくないなと思いました)
で、local.example.comとか適当なドメインをfacebook developoerのサイトでアプリに設定して、/etc/hostsに書いてそのドメインはlocalhostを見るようにしたり、reverse proxyを立てて見たり、ありとあらゆることを試したんですがダメだった。
なんでダメだったのかよくわからない。。。結局普通にここに設定すれば、localhostでもできた
けどlocalhostを指定するなんて、テストアプリ以外ではダメですけどね