私は自分のウェブサイト用のopenidログインシステムを構築しようとしています。これを行うために、JanRainのphpopenidライブラリv2.1.3を使用しました。
また、openidセレクターを使用して、リストからopenidプロバイダーを選択しています。
最初に、プロバイダーからフェッチする必要のある属性配列を次のように作成しました。
$ attribute [] = Auth_OpenID_AX_AttrInfo :: make('http://axschema.org/contact/email'、2,1、'email'); $ attribute [] = Auth_OpenID_AX_AttrInfo :: make('http://axschema.org/namePerson/first',1,1,'firstname'); $ attribute [] = Auth_OpenID_AX_AttrInfo :: make('http://axschema.org/namePerson/last',1,1、'lastname'); $ attribute [] = Auth_OpenID_AX_AttrInfo :: make('http://axschema.org/namePerson'、1,1、'fullname'); $ attribute [] = Auth_OpenID_AX_AttrInfo :: make('http://axschema.org/namePerson/friendly'、1,1、'username'); $ ax = new Auth_OpenID_AX_FetchRequest; foreach($ attribute as $ attr) {{ $ ax-> add($ attr); } $ auth_request-> addExtension($ ax);
そしてfinish_auth.phpファイルで、返された属性をフェッチするためにこれを書きました
$ ax = new Auth_OpenID_AX_FetchResponse(); $ obj = $ ax-> fromSuccessResponse($ response);
Googleは要求されたすべての属性を私に提供しますが、yahooは提供しません(ここで述べたように、yahooは属性交換をサポートするようになりました)。
属性交換についてもyahooが設定した制限はありますか?(彼らは制限されたウェブサイトにopenidのsreg拡張子へのアクセスを与えます)。:(
私を助けてください、私はここで立ち往生しています。
ありがとう