0

omn​​iauthコールバックを手動でトリガーする方法はありますか?

つまり、jsonのTwitterからoauth応答を取得します。次に、このデータをomniauthコールバックURLにPOST / GETできますか?もしそうなら、jsonデータを再構築する必要がある特定の形式はありますか?

私はこれらの行で何かをしていますがrequest.env['omniauth.auth']、omniauthコールバックにデータを入力できません。

こちらがリクエストスペックです

before(:each) do
  # response returned from twitter is in spec/fixtures/oauth_twitter_response.json
  twitter_oauth_response = File.join(Rails.root.to_s, 'spec', 'fixtures', 'oauth_twitter_response.json')
  data = File.read(twitter_oauth_response)
  @twitter_data = JSON.parse(data)
end

it 'should post the twitter data to omniauth callback' do
  post 'users/auth/twitter/callback', {}, {:env => {"omniauth.auth" => @twitter_data}}
end

これが可能かどうか、何か考えはありますか?

4

1 に答える 1

1

これは可能です。あなたが見逃している唯一のものは、あなたが問題を抱えているものです - 設定omniauth.auth。次のようにします。

controller.stub!(:env).and_return('omniauth.auth' => @twitter_data)
于 2012-05-07T04:45:12.107 に答える