4

アプリに open-id 機能を追加しようとしています。同じために omniauth および omniauth-openid gem を使用しています。

インストール手順を実行して、ミドルウェアとしてイニシャライザに追加しました。

require 'omniauth-openid'
require 'openid/store/filesystem'

Rails.application.config.middleware.use OmniAuth::Builder do 
  provider :open_id, :store => OpenID::Store::Filesystem.new('/tmp')
end

andling コールバックのルート

match '/auth/:provider/callback' => 'callback#myauthentication'

このURLにアクセスしようとすると、Googleプロバイダーに接続します

http://[mydomain]/auth/open_id?openid_url=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid

毎回接続失敗エラーが発生します

Yahoo の場合 http://[mydomain]/auth/open_id?openid_url=http%3A%2F%2Fme.yahoo.com%2F

さらに、yahoo open id を試してみると、正しく認証した後でも、invalid_credentials エラーが発生します Update 1: I am using Apache Web server, and thin/webrick app server. Apache Web サーバーの背後になく、localhost:3000 として直接実行すると、正常に動作することを確認しました。omn​​iauth の動作が異なる理由

4

1 に答える 1