league / oauth1-bitbucket
Bitbucket OAuth 1.0 Client Provider for The PHP League OAuth1-Client
dev-master / 1.0.x-dev
2015-12-08 22:39 UTC
Requires
- php: >=5.5.0
- league/oauth1-client: dev-develop
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.0
- squizlabs/php_codesniffer: ~2.0
This package is auto-updated.
Last update: 2024-10-14 10:52:16 UTC
README
This package provides Bitbucket OAuth 1.0 support for the PHP League's OAuth 1.0 Client.
Installation
To install, use composer:
composer require league/oauth1-bitbucket
Usage
Usage is the same as The League's OAuth client, using \League\OAuth1\Client\Server\Bitbucket
as the server.
Authenticating with OAuth 1.0
// Create a server instance. $server = new \League\OAuth1\Client\Server\Bitbucket([ 'identifier' => 'your-identifier', 'secret' => 'your-secret', 'callbackUri' => 'http://your-callback-uri/', ]); // Obtain Temporary Credentials and User Authorization if (!isset($_GET['oauth_token'], $_GET['oauth_verifier'])) { // First part of OAuth 1.0 authentication is to // obtain Temporary Credentials. $temporaryCredentials = $server->getTemporaryCredentials(); // Store credentials in the session, we'll need them later $_SESSION['temporary_credentials'] = serialize($temporaryCredentials); session_write_close(); // Second part of OAuth 1.0 authentication is to obtain User Authorization // by redirecting the resource owner to the login screen on the server. // Create an authorization url. $authorizationUrl = $server->getAuthorizationUrl($temporaryCredentials); // Redirect the user to the authorization URL. The user will be redirected // to the familiar login screen on the server, where they will login to // their account and authorize your app to access their data. header('Location: ' . $authorizationUrl); exit; // Obtain Token Credentials } else { try { // Retrieve the temporary credentials we saved before. $temporaryCredentials = unserialize($_SESSION['temporary_credentials']); // We will now obtain Token Credentials from the server. $tokenCredentials = $server->getTokenCredentials( $temporaryCredentials, $_GET['oauth_token'], $_GET['oauth_verifier'] ); // We have token credentials, which we may use in authenticated // requests against the service provider's API. echo $tokenCredentials->getIdentifier() . "\n"; echo $tokenCredentials->getSecret() . "\n"; // Using the access token, we may look up details about the // resource owner. $resourceOwner = $server->getResourceOwner($tokenCredentials); var_export($resourceOwner->toArray()); // The server provides a way to get an authenticated API request for // the service, using the access token; it returns an object conforming // to Psr\Http\Message\RequestInterface. $request = $server->getAuthenticatedRequest( 'GET', 'http://your.service/endpoint', $tokenCredentials ); } catch (\League\OAuth1\Client\Exceptions\Exception $e) { // Failed to get the token credentials or user details. exit($e->getMessage()); } }
Testing
$ ./vendor/bin/phpunit
$ ./vendor/bin/phpcs src --standard=psr2 -sp
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.