Question

I would like to use OpenID (PHP and LightOpenID) to get the following user information:

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

However, I found that both Yahoo and Google return only the following data:

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

Is there something wrong with my code? Can I force Google and Yahoo to return all the data I want?

Was it helpful?

Solution

Google and Yahoo OpenID implementations both respect the "required" in Attribute Exchange, but not all the attributes you're looking for. Here are their respective documentations listing what attributes their schema supports.

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

At the time of this posting, these are the currently supported fields for Google

  • country
  • email
  • firstname
  • language
  • lastname

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

At the time of this posting, these are the currently supported fields for Yahoo

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top