使用多个OAuth 1.0提供商在您的应用程序中授权用户

dev-master 2015-05-28 20:27 UTC

This package is auto-updated.

Last update: 2024-09-16 09:27:01 UTC


README

已弃用:使用league/oauth1-client

使用多个OAuth 1提供商通过您的应用程序授权用户。

支持的服务提供商

  • Dropbox
  • Flickr
  • LinkedIn
  • Tumblr
  • Twitter
  • UbuntuOne
  • Vimeo

使用示例

在这个示例中,我们将使用Twitter对用户进行身份验证。

session_start();

$oauth = new \OAuth1\Provider\Twitter(array(
	'id' => 'CLIENT_ID',
	'secret' => 'CLIENT_SECRET',
	'redirect_url' => 'URL_TO_THIS_PAGE'
));

if ($oauth->isCallback()) {
	$oauth->validateCallback(unserialize($_SESSION['token']))
} else {
	$token = $oauth->requestToken();

	$_SESSION['token'] = serialize($token);

	$url = $oauth->authorize($token);

	header("Location: {$url}");
	exit;
}

// Tokens
print_r($oauth->getUserTokens());

// User data
print_r($oauth->getUserInfo());

如果一切顺利,你应该会看到用户令牌和数据的输出。

使用Guzzle调用OAuth 1 API

你也可以使用这个包通过Guzzle调用你的API。

$client = new \OAuth1\Client('http://api.twitter.com/1.1');
$client->setProvider($oauth)
    ->setUserTokens($oauth->getUserTokens());

echo $client->get('statuses/mentions_timeline.json')->send();

这个示例应该会显示你的Twitter提及以及相应的头信息

贡献

  1. 检查开放问题或为新功能请求或错误打开一个新问题
  2. 在Github上Fork存储库以开始在develop分支(或从中分支)上进行更改
  3. 编写一个测试来显示错误已被修复或功能按预期工作
  4. 发送一个pull请求,并一直催促我合并它