rails4でtwitterログイン認証を扱ったのでメモ。久しぶりなので結構忘れていて焦りました...
環境
- rails(ruby2.1.0, rails4.0.3)
- twitterのdeveloper登録済み
- mongoDB
Gemfileにomniauth-twitterを記述
gem "omniauth-twitter"
gem更新
bundle update
コントローラー作成。コントローラ名は基本通りsession。
rails generate controller session
routes.rbにpathを設定
# auth get '/auth/:provider/callback' => 'session#create' get '/auth/failure' => 'session#failure' get '/signout' => 'session#destroy', :as => :signout
routes.rbのテストコードを記述。テストコードはspec/routing/session_route_spec.rbとする
describe 'GET twitter auth success' do it "routes /auth/callback to the session controller" do expect(get("/auth/twitter/callback")). to route_to(:controller => "session", :action => "create", :provider => "twitter") end end describe 'GET twitter auth failure' do it "routes /auth/callback to the session controller" do expect(get("/auth/failure")). to route_to("session#failure") end end describe 'GET sign out' do it "routes /signout to the session controller" do expect(get("/signout")). to route_to("session#destroy") end end
テスト実行
rake spec
エラーなしで実行できたらOK。
長くなりそうなので、ひとまずここまで。分割します。
0 件のコメント:
コメントを投稿