2014年3月14日金曜日

rails4 twitterでログイン認証 その1

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 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...