1

Ryan Bates Omniauth Part1 railscats http://railscasts.com/episodes/235-omniauth-part-1をフォローしました。秘密の番号を使用して Twitter と Facebook の認証を行い、Facebook (auth/facebook) で認証しようとすると、次のエラーが発生します。

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

Twitter (auth/twitter) で認証しようとすると、この 401 Unauthorized 応答が返されます。どうすれば修正できるのかわからない

ありがとうhttp://127.0.0.1:3000Twitter の URL コールバック フィールドと facebook の私のウェブサイト フィールドの入力を修正しました。しかし、Facebookで認証しようとすると、次のエラーが発生します。

OpenSSL::SSL::SSLError

SSL_connect が返されました = 1 errno = 0 状態 = SSLv3 読み取りサーバー証明書 B: 証明書の検証に失敗しました

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

4

2 に答える 2

1

このエラーは、サーバーが http プロトコルで実行されている場合に表示されます。このコードを your_project/script/rails の 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

自己署名証明書を生成するには、このチュートリアルhttp://www.akadia.com/services/ssh_test_certificate.html (ステップ 1 から 4) またはこのwww.tc.umn.edu/~brams006/selfsign.htmlをお読みください。

Railsスクリプトを更新した後、URLをからhttp://127.0.0.1:3000に変更しますhttps://127.0.0.1:3000

于 2011-11-14T16:02:31.163 に答える
1

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

問題は、アプリ設定のコールバック URL である可能性があります。次のように設定してみてください。

http://127.0.0.1

そしてさらに試みる。うまくいかない場合は、次からhttp://localhost:3000試してくださいhttp://127.0.0.1:3000

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

于 2011-11-13T13:49:53.643 に答える