做的OpenID的谷歌和雅虎实现尊重“必需的”属性?(Do the Google and Yahoo

2019-09-27 23:49发布

我想用的OpenID(PHP和LightOpenID)得到以下的用户信息:

    $openid->required = array(
      'namePerson',
      'namePerson/first',
      'namePerson/last',
      'contact/email',
      'person/guid',
      'birthDate/birthYear',
      'birthDate/birthMonth',
      'birthDate/birthday',
      'gender',
    );  

然而,我发现,雅虎和谷歌都仅返回以下数据:

 Array ( [namePerson] => abc [contact/email] => abc@example.com ) 

是不是有什么错我的代码? 我可以强制谷歌和雅虎返回所有我想要的数据?

Answer 1:

谷歌和雅虎OpenID的实现都尊重属性交换的“需要”,但不是所有的你正在寻找的属性。 以下是他们列出哪些属性的架构支持各自的单证。

https://developers.google.com/accounts/docs/OpenID#Parameters

在此张贴的时间,这些都是谷歌当前支持的领域

  • 国家
  • 电子邮件
  • 名字
  • 语言

http://developer.yahoo.com/blogs/ydn/yahoo-openid-now-attribute-exchange-7795.html

在此张贴的时间,这些都是雅虎当前支持的领域

  • http://axschema.org/namePerson
  • http://axschema.org/contact/email
  • http://axschema.org/person/gender
  • http://axschema.org/media/image/default


文章来源: Do the Google and Yahoo implementations of OpenID respect the “required” attribute?