gem 'oauth' gem 'facebook_oauth' gem 'oauth2', '0.4.1'
なぜかoauthは0.4.1以上だと上手く行かなかったのでversionを指定します。あとは各種コントローラーを作ります。もちろん事前にデベロッパー登録はをしておいてCONSUMER_KEYなどは適宜取得したものに変更します。
app/controllers/users_controller.rb
class UsersController < ApplicationController
CALLBACK_URL = "http://localhost:3000/users/callback"
CONSUMER_KEY = "アプリID"
CONSUMER_SECRET = "アプリの秘訣"
def index
end
def oauth
client = FacebookOAuth::Client.new(
:application_id => CONSUMER_KEY,
:application_secret => CONSUMER_SECRET,
:callback => CALLBACK_URL
)
redirect_to client.authorize_url
end
def callback
@client = FacebookOAuth::Client.new(
:application_id => CONSUMER_KEY,
:application_secret => CONSUMER_SECRET,
:callback => CALLBACK_URL
)
@client.authorize(:code => params[:code])
end
end
app/views/users/index.html.erb
<%= link_to 'OAuth認証', '/users/oauth' %>app/views/users/callback.html.erb
<%= @client.me.info %>
http://localhost:3000/usersにアクセスすれば認証ページヘ行きます。