Php yioauth实现

Php yioauth实现,php,oauth,yii,yii-extensions,Php,Oauth,Yii,Yii Extensions,Requiremen:-Yii,用于验证和获取用户数据的OAuth实现。 我发现有两个扩展。Eauth(支持oauth2.0和其他社交网站)和Eoauth(oauth1.0)。如果我错了,请纠正我 我不必验证任何社交网站。这是一个不同的url,我需要从那里获取数据 现在,我可以使用“eoauth”扩展成功登录和身份验证,但我还需要获取有关用户的信息。我找不到任何函数或方法来从位于OAuth层下的url获取数据。Eauth或Eoauth支持抓取还是必须自定义编码? 如果这个扩展没有做到这一点,那么

Requiremen:-Yii,用于验证和获取用户数据的OAuth实现。 我发现有两个扩展。Eauth(支持oauth2.0和其他社交网站)和Eoauth(oauth1.0)。如果我错了,请纠正我

我不必验证任何社交网站。这是一个不同的url,我需要从那里获取数据

现在,我可以使用“eoauth”扩展成功登录和身份验证,但我还需要获取有关用户的信息。我找不到任何函数或方法来从位于OAuth层下的url获取数据。Eauth或Eoauth支持抓取还是必须自定义编码?
如果这个扩展没有做到这一点,那么我可以通过什么方式进行身份验证和获取数据呢?

当然,Eauth支持获取用户数据。 让我们看一下Eauth结构。我们有目录
/services
/custom\u services
和class
EOAuthService
。EOAuthService包含从第三方站点返回受保护资源的方法
makeSignedRequest()

因此,我们可以从serviceClass调用这个方法,它扩展了
EOAuthService
。例如,
/services
目录中的class
facebook OAuthService
。该类包含受保护的方法
fetchAttributes()
,它调用方法
makeSignedRequest($url)
,并从第三方站点(在我们的示例中为FB)获取$info(JSON)。这个对象的属性-它是我们用户的数据。 关于
/custom\u服务
?该目录包含用于调整“BaseServiceClass”的类

因此,例如,
customfacebookouthservice
extends
facebookouthservice
extends
EOAuthService

您需要创建自己的类,该类将为您的第三方站点发出已签名的请求并获得正确的响应(例如JSON)。然后获取获得的信息-瞧!
当然,用户必须经过第三方站点的身份验证,才能通过oauth在您的应用程序上进行精细的身份验证。

虽然很旧,但您只需要使用CURL请求到最终URL,就可以获得数据。我猜这些模块没有获取数据的功能。我希望这对你有帮助。我已经在我的一个代码中使用了,它是成功的

public function GetData($url){
        $signatureMethod = new OAuthSignatureMethod_HMAC_SHA1();
        $request = OAuthRequest::from_consumer_and_token($this->consumer,$this->token, 'GET',    $url, array());
        $request->sign_request($signatureMethod, $this->consumer, $this->token);        
        $fetchUrl = $request->to_url();
        $response = Yii::app()->CURL->run($fetchUrl);     
        return json_decode($response);               
    }