gpt4 book ai didi

php - Yii OAuth 实现

转载 作者:行者123 更新时间:2023-12-02 22:28:32 25 4
gpt4 key购买 nike

要求:- Yii,OAuth 实现来验证和获取用户数据。我发现有两个扩展名。 Eauth(支持OAuth 2.0和其他社交网站)和Eoauth(OAuth 1.0)。如果我错了,请纠正我。

我不需要验证任何社交网站。它与我需要获取数据的位置不同。

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

最佳答案

当然,Eauth是支持抓取用户数据的。让我们看看 Eauth 结构。我们有目录 /services/custom_services 和类 EOAuthService。 EOAuthService 包含方法 makeSignedRequest(),它从第三方站点返回 protected 资源。

因此,我们可以从扩展 EOAuthService 的服务类中调用此方法。例如,/services 目录中的 FacebookOAuthService 类。该类包含 protected 方法 fetchAttributes(),它调用方法 makeSignedRequest($url) 并从第三方站点(在我们的示例中为 FB)获取 $info(JSON 格式) .此对象的属性 - 这是我们用户的数据。/custom_services 怎么样?该目录包含用于调整我们的“BaseServiceClass”的类。

因此,例如,CustomFacebookOAuthService extends FacebookOAuthService extends EOAuthService

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

关于php - Yii OAuth 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com