技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Facebook 認証の設定

Facebook 設定ミス編

実際に本番環境にデプロイして、Facebook 認証をしようとすると、「指定されたURLは、アプリケーションの設定で許可されていません。」で散々エラー吐かれた。

これは、Facebook developers サイトの、下記項目を修正した。

  • AppDomains : 空欄にすると怒られた。localhost とかは例外的な扱いらしい?「www.white-azalea.net」でアプリケーション展開するなら「white-azalea.net」を指定。
  • サイトURL,Mobile Site URL : 「https://www.white-azalea.net」を指定。少しでも AppDomain と違うと上記エラー(保存時にエラーにならない駄目仕様)。

多分これはリクエスト元か何かとして認識されてる臭い。

Application の OAuth エラー

Facebook にリクエストする際のURL生成で、callback の URL の箇所を、http/https で間違うとかなり苦労する。

というのは、なぜかここは「サイトURL,Mobile Site URL」で https を指定してるのに、http のURLを受ける(しかもリダイレクトする)。

結果、サーバ側で「httpのサイトなんかねーよ!」と蹴られる。

これも実行時エラーで、これを食うとデプロイし直し。

後、MySQL で相当手を焼いた。

テスト環境が h2sql だったのが災いしたのだが、 Chef Cookbook: mysql - Opscode Community でインストールしたら文字コードが latin1 で設定される上、エンコードを選ぶ設定が存在しない。

結果、DBやら何やらがすべて latin1 で、実行してみると日本語が化ける化ける。

後、JDBC?characterEncoding=utf8 を付けないとエラーになる。

コンパイルとデプロイが一番時間がかかるんだ....

マジで、utf-8 以外がデフォルトとか簡便願いたかった。

あと、Apache の mod_proxy による転送だけど、URL パラメータ中の URL エンコードが半端に解けて送信されてくる。

proxy なのにデータを改竄する時点でバグにしか見えないのだが、ProxyPass / http://127.0.0.1:8000/ nocanon の様に nocanon を付けるとこの挙動が止まる。

こんなのデフォルトにすべきな気がするが。。。。