@Yoski はてな別室

ツイキャスの中の人。Twitter やってるよ http://twitter.com/yoski

Facebookがいきなり実施したセキュリティ対策でログインできなくなるWebアプリたぶん多数

多数あると思います。ていうか、俺、ひっかかった。

 

掘っていくと、ここ数日に実施されたセキュリティ対策らしく、app secret と client secret が同一の場合、https://graph.facebook.com/oauth/access_token がcode認証受け付けなくなる、という問題です。

ここに情報載ってます。

BugsThe request is invalid because the app secret is the same as the client token

 

これにひっかかると、ヘッダに

WWW-Authenticate: OAuth "Facebook Platform" "invalid_request" "The request is invalid because the app secret is the same as the client token"

って書かれて400エラー返します。わはは。

 

で、そもそも「client secret なんて使ってるの?」って話しで、今の FacebookSDK 使ってる人は誰もこれ使ってないと思います。

 

が、そこが罠で、最初にアプリ登録したときに、「なんかわかんないから Client Secret 生成しとけ」ってやった人、アウトです(最近は大丈夫みたいだけど)。

なんと、以前生成された Client Secret は App Secret と同一の文字列を返す仕様になっており、今になって「あ、それ、セキュリティ的にまずいから認証落とすわ」ってなったわけです。使ってないのに。。

 

ということで、Client Secret 生成してしまって、あれーWebでログインできなくなってるよーーって人は Client Secret を再生成すると直りますので、やってみるといいと思いますよ。

 

#この罠の解決には1.5時間かかりました・・・