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 endapp/views/users/index.html.erb
<%= link_to 'OAuth認証', '/users/oauth' %>app/views/users/callback.html.erb
<%= @client.me.info %>
http://localhost:3000/usersにアクセスすれば認証ページヘ行きます。
6 件のコメント:
callbackの時 OAuth:errorになってしまった。
@client.authorize(:code => paramas[:code]) 行です
環境 rails3
facebook_oauth 0.3.0
oauth2 0.5.2
コメントありがとうございます。
oauth2 のバージョンをさげてみたらどうでしょう。
返事ありがとうございます。
oauth2 のバージョンを0.4.1に下げているも
OAuth2:errorになります。
成功して時環境を教えて頂きますか?
Ruby1.9.2のRails3でほかは下記の通りです。
* facebook_oauth (0.2.3)
* oa-core (0.2.6)
* oa-oauth (0.2.6)
* oauth (0.4.5)
* oauth2 (0.4.1)
あとlocalhostで動かすのであればFacebookDeveloperサイドでのURLの指定もlocalhostにしておかないとダメです。
コメントを投稿