使用WebFinger和OpenID登录
我正在搞乱WebFinger,并试图创建一个小型的Rails应用程序,使用户只能使用WebFinger帐户登录。我能成功地用手指自己,我回去跟下面的代码片段的XRD文件:使用WebFinger和OpenID登录
Link rel="http://specs.openid.net/auth/2.0/provider" href="http://www.google.com/profiles/{redacted}"/
其中,对我来说,读,“我在URL一个OpenID 2.0登录:http://www.google.com/profiles/{redacted}
”。但是,当我尝试使用URL登录,我收到以下错误
OpenID::DiscoveryFailure (Failed to fetch identity URL http://www.google.com/profiles/{redacted} : Error encountered in redirect from http://www.google.com/profiles/{redacted}: Error fetching /profiles/{Redacted}: Connection refused - connect(2)):
当我更换“https://www.google.com/accounts/o8/id”的个人资料网址,登录完美的作品。
这里是我使用的代码(我使用RedFinger作为一个插件,并Janrain的红宝石的OpenID,而创业板安装)
require "openid"
require 'openid/store/filesystem.rb'
class SessionsController < ApplicationController
def new
@session = Session.new
#render a textbox requesting a webfinger address, and a submit button
end
def create
#######################
#
# Pay Attention to this section right here
#
#######################
#use given webfinger address to retrieve openid login
finger = Redfinger.finger(params[:session][:webfinger_address])
openid_url = finger.open_id.first.to_s
#openid_url is now: http://www.google.com/profiles/{redacted}
#Get needed info about the acquired OpenID login
file_store = OpenID::Store::Filesystem.new("./noncedir/")
consumer = OpenID::Consumer.new(session,file_store)
response = consumer.begin(openid_url) #ERROR HAPPENS HERE
#send user to OpenID login for verification
redirect_to response.redirect_url('http://localhost:3000/','http://localhost:3000/sessions/complete')
end
def complete
#interpret return parameters
file_store = OpenID::Store::Filesystem.new("./noncedir/")
consumer = OpenID::Consumer.new(session,file_store)
response = consumer.complete params
case response.status
when OpenID::SUCCESS
session[:openid] = response.identity_url
#redirect somehwere here
end
end
end
是否有可能对我来说,使用URL我从我的WebFinger收到使用OpenID登录?
是的,绝对。尽管我还没有发布源代码,但您可以在webfinger.org上进行测试。实现基本如您所描述的那样。不幸的是,我不确定为什么您的登录示例无法正常工作。
哈哈,这就是我一直在测试的东西:) 现在我只需要弄清楚为什么系统有问题提取地址我给它 – Ryan 2010-04-05 18:22:28
嘿,当我登录您的网站时,它看起来像我' m被重定向到https://www.google.com/accounts/o8/id 您是否知道您是在那里重定向还是在谷歌重新定向? – Ryan 2010-04-05 22:20:44
google.com/accounts/o8/id是/是Google OpenID帐户的常用OpenID标识符。如果我没有记错,这是webfinger.org默认使用GMail帐户的标识符。 – 2010-04-06 06:49:27
当在www.google.com上获取网址时,“连接被拒绝”?这是*非常*奇怪。 – keturn 2010-04-05 19:07:20