如何让Ruby OpenID使用sreg 1.1而不是1.0

时间:2015-12-08 21:51:48

标签: ruby openid

我需要OpenID sreg的命名空间为http://openid.net/extensions/sreg/1.1而不是http://openid.net/sreg/1.0。如何将OpenID设置为使用1.1?我可以在初始化器中设置一些东西吗?或者还有其他什么我没有设置openid认为它不能使用sreg 1.1?

更具体地说,我需要

openid.ns.ext0 = http://openid.net/extensions/sreg/1.1

而不是

openid.ns.ext0 = http://openid.net/sreg/1.0

def open_id
    begin
      oidreq = openid_consumer.begin 'https://openid.intuit.com/openid/xrds'
    rescue OpenID::DiscoveryFailure => why
        "Sorry, we couldn't find your identifier '#{openid}'"
    else
        oidreq.add_extension_arg('sreg','required','email')
        oidreq.add_extension_arg('sreg','optional','fullname')

        redirect_to oidreq.redirect_url(root_url, root_url + "open_id_complete")    
    end
  end

  def self.openid_store
    @openid_store ||= OpenID::Store::Memory.new
  end

  def openid_consumer
    @openid_consumer ||= OpenID::Consumer.new(session, self.class.openid_store)
  end


end

1 个答案:

答案 0 :(得分:0)

最后我找到了答案!我不得不创建一个新的sreg请求然后使用1.1

GetCommandLine()
相关问题