phpopenidlightopenid

Do the Google and Yahoo implementations of OpenID respect the "required" attribute?


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?


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

    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