プロダクトを作る時にFacebookやTwitter、GitHubのログイン機能を組み込むのはかなり普通に必要になってきました。そんな時にすごく便利なのが、この「minimum-omniauth-scaffold」です。
実際にハッカソンの中ではじめて使いましたが、10〜20分で簡単に実装できてしました。
次の環境で実行できました!
Rails 4.2.5 Ruby 2.3.0
🚜 Gemのインストール
Gemfile
に以下を追加して、コンソールでbundle
を実行してください。
# Facebook/Twitter/GitHubログイン機能 |
ちなみにこちらのgemは、Ruby 2.0+、Rails 4.0+環境用とのことです。
🍮 OmniAuth用のScaffold
次のコマンドを実行して、OmniAuth用のScaffoldを作成。
rails g minimum:omniauth:scaffold |
🎃 Facebook/Twitter/GitHubでアプリケーションを作成してキーを登録
Facebook Developers - Appでアプリケーションを作成して、App IDとアプリケーションのシークレットキーを取得。
※ 必須マークがながが「Callback URL」も入力必要
Twitter Developersでアプリケーションを作成して、キーを取得。
※「新しいアプリケーションを作成」作成後「FacebookでログインするWebサイト」に「http://0.0.0.0:3000/」を入力
GitHub
GitHub Register a new OAuth applicationでアプリケーションを登録してキーを取得。
※ Main URL/Callback URL:「http://0.0.0.0:3000/」
config/settings.local.yml
config/settings.local.yml
に上で取得した情報を登録。
本番用の環境変数の設定
キー情報などはGitリポジトリに含めないほうがいいです。ということでHerokuを使って環境変数にキー情報を登録するのはこちら。
|
認証用のテーブルを作成
マイグレーションコマンドを実行して、認証に必要なテーブルを作成。
rake db:migrate |
と、たったこれだけのコマンドでログイン認証に必要な機能をひととおり実装できてしまいます!
継続的に開発を続けてこられている作者の@shu0115さんには感謝感謝です^^
🗻 参考リンク
shu0115/minimum-omniauth-scaffold
Ruby 2.0.0-p247 + Rails 4.0.0 + minimum-omniauth-scaffold - Qiita [キータ]
🏈 変更来歴
(2016/01/17 19:40) 記述修正