我正在尝试为我的网站构建openid登录系统。为此,我使用了JanRain's php openid library v 2.1.3。
我也在使用openid selector从列表中选择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向我提供了所有要求的属性,但雅虎没有(如 here 所述,雅虎现在支持属性交换)。
雅虎是否也在属性交换上设置了限制。 (他们给有限的网站访问openid的sreg扩展名)。 :(
请帮助我,我被困在这里。
由于