omniauth/openid でちょっとしたトラブルが発生しています。
認証しようとすると、ログにこれが見つかりました:
OpenID::FetchingError: Error fetching https://www.google.com/accounts/o8/.well-known/host-meta?hd=profiles.google.com%2Fmy_username: undefined method `io' for nil:NilClass
undefined method io' for nil:NilClass
次のスニペットでは、openid/fetchers.rb に由来する重要な点があります。
module Net
class HTTP
def post_connection_check(hostname)
check_common_name = true
cert = @socket.io.peer_cert
cert.extensions.each { |ext|
next if ext.oid != "subjectAltName"
ext.value.split(/,\s+/).each{ |general_name|
if /\ADNS:(.*)/ =~ general_name
check_common_name = false
...
そのエラーは によって生成され@socket.io.peer_cert
、@socket は定義されていません。
以前にこれに遭遇した人はいますか?何が原因なのかよくわかりません。
私が実行しているバージョン:
- ruby 1.9.3dev (2010-08-17 トランク 29020) [x86_64-darwin10.4.0]
- ruby-openid (2.1.8)
- ruby-openid-apps-discovery (1.2.0)
- オムニ認証 0.2.0