Andrei Serdeliucのソリューションを確認し、protect_from_forgeryを無効にするとうまくいきました(Ruby 1.8.7、Rails 2.3.11、OmniAuth 0.1.6)
あなたのCallbackController(有名なスクリーンキャストのAuthenticationsController)に追加する skip_before_filter :verify_authenticity_token
か protect_from_forgery :except => :create
、コントローラーの上部に作業してください!
CSRF (クロスサイト リクエスト フォージェリ) の方法になる可能性があるため、openid サーバーの ID を確認する必要があります。(イニシャライザーで) 証明書の確認を設定することを忘れないでください。
# まず、ca-bundle.crt ファイルを取得します (例: オープンソースのブラウザー パッケージから)
「openid/fetchers」が必要
OpenID.fetcher.ca_file = "#{Rails.root}/config/ca-bundle.crt""
次のような警告を防ぎます。
警告: https://www.google.com/accounts/o8/id に https リクエストを送信
サーバー証明書を検証せずに; CA パスが指定されていません。
現在、私のセッションはもうリセットされておらず、複数の openid 認証を私の current_user に追加できます。
乾杯