hoz blog

営業からSEに転職した文系エンジニアです。プログラミングと趣味の株に関してブログを書いていこうと思います。

【Ruby】facebookでのログインに対応する方法

まずはfacebookのdevelopper用のサイトでアプリを登録しておきます。
developers.facebook.com



gemの導入
OmniAuth: Overview · plataformatec/devise Wiki · GitHub

上記サイトの手順に沿って行います。

f:id:takanori5:20171103195528p:plain

gemfileに以下を追加

gem 'omniauth-facebook'

ターミナルでインストールコマンドを実行

bundle install

f:id:takanori5:20171103195917p:plain

gemがinstallできました

次のステップ
f:id:takanori5:20171103200130p:plain

ターミナルでコマンドを打っていけばOKです。

rails g migration AddOmniauthToUsers provider:string uid:string

f:id:takanori5:20171103200527p:plain
migrationファイルが作成されました!

続いて以下のコマンド

rake db:migrate

f:id:takanori5:20171103200816p:plain
migrate完了です!

続いてdevice.rbを編集
f:id:takanori5:20171103201255p:plain

一番下に設定を追加しました。
f:id:takanori5:20171103201410p:plain

続いてuser.rbを編集
f:id:takanori5:20171103201846p:plain
最後尾に足しました。
f:id:takanori5:20171103201904p:plain


config/routes.rbに以下を追加

devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }

続いて新規のフォルダをcontroller以下に作成しファイルを作ります。
f:id:takanori5:20171103203745p:plain

こんな感じ
f:id:takanori5:20171103204532p:plain