omniauthについて
omniauthはoauth認証をrubyで使えるようにするgemです。
OAuth
あらかじめ信頼関係を構築したサービス間で ユーザの同意のもとに セキュアにユーザの権限を受け渡しする
つまり、自作のwebアプリケーションのアカウントをTwitterやFacebookなどのアカウントと紐付けることができます。
omniauth
omniauthのリポジトリのGetting Startのコードを見ていきます。このサンプルはsinatraです。
Rails.application.config.middleware.use OmniAuth::Builder do provider :developer unless Rails.env.production? provider :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET'] end
アプリケーションにミドルウェアとしてOminiAuthを組み込んでいます。
OmniAuth::Builderを見ます。47行目〜56行目でproviderが書かれています。
指定したクラス(ここではTwitter)がミドルウェアとして組み込まれています。