Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hughbertd/oauth2-unsplash
Unsplash OAuth 2.0 Client Provider for The PHP League OAuth2-Client
https://github.com/hughbertd/oauth2-unsplash
oauth2 oauth2-client unsplash
Last synced: about 4 hours ago
JSON representation
Unsplash OAuth 2.0 Client Provider for The PHP League OAuth2-Client
- Host: GitHub
- URL: https://github.com/hughbertd/oauth2-unsplash
- Owner: HughbertD
- Created: 2017-04-05T12:03:43.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-03T12:17:01.000Z (over 6 years ago)
- Last Synced: 2024-10-07T15:15:19.119Z (about 1 month ago)
- Topics: oauth2, oauth2-client, unsplash
- Language: PHP
- Size: 17.6 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Unsplash Provider for OAuth 2.0 Client
[![Build Status](https://travis-ci.org/HughbertD/oauth2-unsplash.svg?branch=master)](https://travis-ci.org/HughbertD/oauth2-unsplash)Provides Unsplash OAuth 2.0 support as an implementation of PHP League's [OAuth 2.0 Client](https://github.com/thephpleague/oauth2-client)
## Installation
To install, use composer:
```
composer require hughbertd/oauth2-unsplash
```## Usage
Usage is the same as The League's OAuth client, using `\CrewLabs\OAuth2\Client\Provider\Unsplash` as the provider.
### Authorization Code Flow
```php
'{clientId}',
'clientSecret' => '{clientSecret}',
'redirectUri' => 'http://example.com',
]);if (!isset($_GET['code'])) {
// If we don't have an authorization code then get one
$authUrl = $provider->getAuthorizationUrl();
$_SESSION['oauth2state'] = $provider->getState();
header('Location: ' . $authUrl);
exit;
}if (isset($_GET['code']) && !isset($_SESSION['token'])) {
try {
// Try to get an access token (using the authorization code grant)
$token = $provider->getAccessToken('authorization_code', [
'code' => $_GET['code']
]);} catch (Exception $e) {
print($e->getMessage());
exit;
}// Use this to interact with an API on the users behalf
$_SESSION['token'] = $token->getToken();
}if (isset($_SESSION['token'])) {
$user = $provider->getResourceOwner($_SESSION['token']);
printf('Hello %s!', $user->getName());
return;
}
```## Testing
``` bash
$ ./vendor/bin/phpunit
```## Credits
- [Hugh Downer](https://github.com/hughbertd)