データ分析エンジニアのブログ

日常のことからプログラミングや機械学習まで@六本木

PHP SDKを使ったfacebook認証がうまくいかない時の解決法


今回はPHP SDKを利用して、facebookログインを実装しようとして、
つまずいたポイントを紹介します。
この問題を解決するために、丸1日くらいかかりました。


getLoginUrl()メソッドを用いて、facebookのDialog認証を行い、
getUser()メソッドでfacebookidを取得しようとしました。
しかし、以前は問題なく動いていたコードがうまく動かない。。。


getLoginUrl()メソッドで生成されたURLをクリックすると
?code=xxxx&state=xxxxというGETパラメータが返ってきていました。


こちらの記事を見つけ、
返ってきたGETパラメータを使って認証ができてないんじゃないかと思いました。
http://engineering.crocos.jp/post/26950144374/failed-to-get-access-token-by-using-fbsr


思えば.htaccessを使ってリダイレクトしていたので
GETパラメータが上手く取れていませんでした。
これで解決、と思いきや.htaccessでうまくパラメータを取ることができませんでした。
調べてみると、クエスチョンマーク以降の文字列は
RewriteRule のパターンが適用される対象に含まれないようでした。
http://q.hatena.ne.jp/1316575857


これで全て解決しました。
疲れた、、、、、、、、、、、、