アプリに 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 として直接実行すると、正常に動作することを確認しました。omniauth の動作が異なる理由