【问题标题】:Simple PHP and oAuth Library [closed]简单的 PHP 和 oAuth 库 [关闭]
【发布时间】:2014-02-04 16:03:51
【问题描述】:

我正在为 PHP 寻找一个基本的 oAuth 库,我可以只传递一个使用者密钥、一个秘密密钥和一个 URL 来请求令牌,(和一个回调)它只会返回一个 oAuth 令牌.它需要的主要功能是可以在各种社交网络中使用。目前我有一个用于 Twitter 的大型包装器、一个用于 facebook 的大型包装器和另一个用于 Linked in 等的包装器,可以用每个站点的一个功能和一个基本的 oAuth 站点来替换。

【问题讨论】:

标签: php oauth


【解决方案1】:

目前没有这样的库。您有 oauth-phpoauth2-php 库,但它们并不“简单”,好的部分是它们自己管理令牌。 他们不喜欢过长的令牌(如 Yahoo's),这可能是个大问题。

此外,Microsoft API 的某些功能在 5.0 版本中不再可用,这意味着您必须使用他们的旧 API 来实现他们的own Oauth protocol(所有 oauth_* 参数都命名为 wrap_*)。

编辑:您可以检查实现登录部分(而不是整个 API)的 HybridAuth 项目,但应该会给您一个很好的入门。

【讨论】:

  • 今晚我会检查一下 HybridAuth,看起来我会得到最接近的
  • 原来 PHP 中内置了 oAuth,这比建议的要简单。 github.com/jrconlin/oauthsimple/blob/master/php/example.php 是一个很好的例子,我发现了一个简单的 oAuth 库,但最后我选择了 HybridAuth。它处理登录,这正是我想要的,我可以在它之上构建 API 的其余部分(我不需要更多)谢谢
【解决方案2】:

实际上,我自己也遇到了这个问题,并在查看了我所有的选择后最终构建了一个 OAuth 库。下面是一些调用 Twitter API 的示例代码:

use ohmy\Auth1;

# start a session to save oauth data in-between redirects
session_start();

# initialize 3-legged oauth
$twitter = Auth1::init(3);

# configuration
$twitter->set('key', 'your consumer key')
        ->set('secret', 'your consumer secret')
        ->set('callback', 'your callback url')
        ->request('https://api.twitter.com/oauth/request_token')
        ->authorize('https://api.twitter.com/oauth/authorize')
        ->access('https://api.twitter.com/oauth/access_token')
        ->finally(session_destroy);

# test GET call
$twitter->GET('https://api.twitter.com/1.1/statuses/home_timeline.json', array('count' => 5))
        ->then(function($response) {
            echo '<pre>';
            var_dump($response->json());
            echo '</pre>';
        });

该库与 Twitter、Facebook 和 LinkedIn 合作。您可以通过以下方式查看:https://github.com/sudocode/ohmy-auth

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    相关资源
    最近更新 更多