thephpleague/oauth1-bitbucket

Name: oauth1-bitbucket

Owner: The League of Extraordinary Packages

Description: Bitbucket Server for the OAuth 1.0 Client

Created: 2015-09-21 10:04:56.0

Updated: 2017-07-13 15:21:40.0

Pushed: 2015-12-08 22:39:17.0

Homepage:

Size: 8

Language: PHP

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Bitbucket Provider for OAuth 1.0 Client

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

This package provides Bitbucket OAuth 1.0 support for the PHP League's OAuth 1.0 Client.

Installation

To install, use composer:

oser 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
reate a server instance.
ver = new \League\OAuth1\Client\Server\Bitbucket([
'identifier'              => 'your-identifier',
'secret'                  => 'your-secret',
'callbackUri'             => 'http://your-callback-uri/',


btain Temporary Credentials and User Authorization
!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;

btain Token Credentials
se {

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.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.