谷歌openid登录的问题

时间:2011-08-30 11:25:34

标签: openid google-openid

我创建此模板(用于测试)以使用google-openid登录:

var t = "https://www.google.com/accounts/o8/id"
    + "?openid.ns=" + encodeURIComponent("http://specs.openid.net/auth/2.0")
    + "&openid.ns.pape=" + encodeURIComponent("http://specs.openid.net/extensions/pape/1.0")
    + "&openid.ns.max_auth_age=300"
    + "&openid.claimed_id=" + encodeURIComponent("http://specs.openid.net/auth/2.0/identifier_select")
    + "&openid.identity=" + encodeURIComponent("http://specs.openid.net/auth/2.0/identifier_select")
    + "&openid.return_to=http://localhost:1033/oauth"
    + "&openid.realm=http://localhost:1033"
    + "&openid.assoc_handle=ABSmpf6DNMw"
    + "&openid.mode=checkid_setup"

    + "&openid.ui.ns=" + encodeURIComponent("http://specs.openid.net/extensions/ui/1.0")
    + "&openid.ui.mode=popup"
    + "&openid.ui.icon=true"

    + "&openid.ns.ax=http://openid.net/srv/ax/1.0"
    + "&openid.ax.mode=fetch_request"
    + "&openid.ax.type.email=http://axschema.org/contact/email"
    + "&openid.ax.type.language=http://axschema.org/pref/language"
    + "&openid.ax.type.namePerson=http://axschema.org/namePerson"
    + "&openid.ax.type.friendly=http://axschema.org/namePerson/friendly"
    + "&openid.ax.type.gender=http://example.com/schema/gender"
    + "&openid.ax.type.timezone=http://axschema.org/pref/timezone"
    + "&openid.ax.required=email,language,namePerson,friendly,gender,timezone";
var openid = {
    signin: function (provider) {
        window.open(t, "Google Login", "location=1,status=1,scrollbars=1, width=700,height=500");
        return false;
    }
};

这在我尝试使用Yahoo时有效,但在这种情况下,使用Google,我会收到一个xml文档,如:

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
  <XRD>
  <Service priority="0">
  <Type>http://specs.openid.net/auth/2.0/server</Type>
  <Type>http://openid.net/srv/ax/1.0</Type>
  <Type>http://specs.openid.net/extensions/ui/1.0/mode/popup</Type>
  <Type>http://specs.openid.net/extensions/ui/1.0/icon</Type>
  <Type>http://specs.openid.net/extensions/pape/1.0</Type>
  <URI>https://www.google.com/accounts/o8/ud</URI>
  </Service>
  </XRD>
</xrds:XRDS>

而不是预期的反应!可以帮帮我,我的错在哪里?

1 个答案:

答案 0 :(得分:1)

我改变了这个:

var t = "https://www.google.com/accounts/o8/id"

为:

var t = "https://www.google.com/accounts/o8/ud"

问题解决了!!!