1

OpenID (PHP および LightOpenID) を使用して、次のユーザー情報を取得したいと考えています。

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

ただし、Yahoo と Google の両方が次のデータのみを返すことがわかりました。

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

私のコードに何か問題がありますか? Google と Yahoo に、必要なすべてのデータを返すように強制することはできますか?

4

1 に答える 1

2

Google と Yahoo の OpenID 実装はどちらも、属性交換の「必須」を尊重しますが、探しているすべての属性を尊重するわけではありません。スキーマがサポートする属性をリストしたそれぞれのドキュメントを次に示します。

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

この投稿の時点で、これらは Google で現在サポートされているフィールドです。

  • Eメール
  • ファーストネーム
  • 言語
  • 苗字

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

この投稿の時点で、これらは Yahoo で現在サポートされているフィールドです。

于 2013-06-24T17:30:49.040 に答える