私はOmniauthを初めて使用します。おもちゃアプリを作っています。ランダムな文章を表示するだけです。Sinatra + Omniauth を使用しています。Facebookアプリにしたいと思っています。私は基本的にこのチュートリアルに従いました: http://devcenter.heroku.com/articles/facebook (現在のアプリ: http://frasesbarrio.heroku.com/ )
私はfbアプリをhttp://frasesbarrio.heroku.com/に向けました
私はこのコードを持っています:
use OmniAuth::Builder do
provider :facebook, APP_ID, APP_SECRET, { :scope => 'status_update, publish_stream, offline_access' }
end
get '/auth/facebook/callback' do
# raise "auth facebook"
session['fb_auth'] = request.env['omniauth.auth']
session['fb_token'] = session['fb_auth']['credentials']['token']
session['fb_error'] = nil
redirect '/'
end
そして、私にはいくつかの問題があります:
ユーザーが FB アプリをリクエストすると、Facebook は私の / で POST を発行します。どのチュートリアルでも似たようなものを見たことがないので、これは奇妙だと思います。私はちょうど持っています:
post '/' do
redirect "http://localhost:4567/auth/facebook"
get_sentence
@ranking = get_ranking
erb :index
end
そうすることで、ユーザーは Facebook の大きな記号が付いたキャンバス Facebook ページのアプリケーションにリダイレクトされます。ユーザーがそれをクリックすると、認証が続行され、/ にリダイレクトされます。
つまり、Facebook キャンバスとドメインの外で完全にリダイレクトされます。
私はいくつかのチュートリアルを見てきましたが、誰もが私と同じことをしているので、何が起こっているのか本当にわかりません.