omniauth-facebook を使って OAuth2 認証をするときに Facebook のログインページをモバイル用にする方法 (デフォルトだと PC 用の大きなログイン画面になる)。環境は Rails 3.1.1, devise 1.5.2, omniauth-facebook 1.1.0。

変更する方法は簡単。認証ページへのリンクに display パラメータを与えれば OK。例えば,

<a href="/auth/facebook">Login with Facebook</a>

の場合は、

<a href="/auth/facebook?display=touch">Login with Facebook</a>

にする。display の他の値は Dialoge Overview - facebook DEVELOPERS に載っている (page, popup, iframe, touch, wap がある)。