RailsでFacebookのOAuthをするにはomniauth-facebookが便利ですが、そのままだと1つのアプリしか使うことが出来ません。
provider :facebook, ENV[‘FACEBOOK_KEY’], ENV[‘FACEBOOK_SECRET’]
Facebookのアプリ登録の方もサイトURLは1つのアプリにつき1つしか指定出来ないので、通常はこれで問題ないのですが、1つのRailsアプリで複数のドメイン(=複数のFacebookアプリ)を扱いたいことがあり、実現方法を調べていました。
結論としては、Facebookへリダイレクトする直前に割り込み、リクエストされたURLに合わせてKEYとSECRETを入れ替えています。ソースはこんな感じ。(config/initializers/omniauth.rbに書いてしまった。)
なんだか無理矢理な気はしているので、もっとうまいやり方があったら教えてください。