2011-11-13 15 views
1

私はRyan Bates Omniauth Part1 railscats http://railscasts.com/episodes/235-omniauth-part-1に従っています。私は、彼らの秘密の数字でTwitterやFacebook認証を入れて、私はFacebookの(AUTH /フェイスブック)を介して認証しようとすると、私はこのエラーを取得:omniauthでFacebook経由で認証しようとするとエラーが発生する

{ 
    "error": { 
     "message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.", 
     "type": "OAuthException" 
    } 
} 

をそして、私はツイッター(AUTH /さえずり)私が手を介して認証しようとすると、この401 Unauthorizedレスポンス。

ありがとう私はhttp://127.0.0.1:3000をtwitter URLコールバックフィールドとfacebook my websiteフィールドに入力して修正しました。しかし、今私はこのエラーが表示されます:

OpenSSL::SSL::SSLError

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

どのように私はそれを解決できますか? OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONEをdevelopment.rbに入れて解決しました

答えて

1

あなたのサーバーがhttpプロトコル上で動作しているときにこのエラーが表示されます。あなたのレールを更新した後、このチュートリアルhttp://www.akadia.com/services/ssh_test_certificate.html(1〜4ステップ)、またはこのwww.tc.umn.edu/~brams006/selfsign.html

を読んで自己署名証明書を生成するにはAPP_PATH

require 'rubygems' 
require 'rails/commands/server' 
require 'rack' 
require 'webrick' 
require 'webrick/https' 

module Rails 
    class Server < ::Rack::Server 
     def default_options 
      super.merge({ 
       :Port => 3000, 
       :environment => (ENV['RAILS_ENV'] || "development").dup, 
       :daemonize => false, 
       :debugger => false, 
       :pid => File.expand_path("tmp/pids/server.pid"), 
       :config => File.expand_path("config.ru"), 
       :SSLEnable => true, 
       :SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE, 
       :SSLPrivateKey => OpenSSL::PKey::RSA.new(
         File.open("/path_to_your/privatekey.pem").read), 
       :SSLCertificate => OpenSSL::X509::Certificate.new(
         File.open("/path_to_your/servercert.crt").read), 
       :SSLCertName => [["CN", WEBrick::Utils::getservername]] 
      }) 
     end 
    end 
end 

前your_project /スクリプト/レール内のコードのこの部分を追加する必要がありますスクリプトは、URLをhttp://127.0.0.1:3000からhttps://127.0.0.1:3000に変更します。

+0

ありがとうございます!私はそれを修正してOpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONEをdevelopment.rbのdevelopment.rbに入れましたが、sslの安全な接続を作成する方が良いと思います。 – TomasMax

1

開発中のTwitterでこの問題がかなり頻繁に発生します。

アプリの設定で問題が発生している可能性があります。

http://127.0.0.1 

もう一度やり直してください。それがhttp://localhost:3000からうまくいかない場合は、それを試してくださいhttp://127.0.0.1:3000

また、Facebookの問題は、アプリの設定のコールバックURLである可能性があります。 Facebookの場合、私のsite urlの設定は:http://localhost:3000/

+0

私はそれを修正しますが、Facebookにはありません。私がhttp:// localhost:3000 /を置かなければならないFAcebbok appaオプションでは? – TomasMax

+0

https://developers.facebook.com/apps->設定を編集 - >ウェブサイト – Gazler

+0

私は過去にもWebbrickを使用して問題を抱えていました。私はこれがここの答えであるとは確信していません、ちょうどバイヤーが注意してください。私はGemfileの薄い宝石「薄い」に切り替え、次にレールは薄くしました。 –

関連する問題