Salesforce Provider for OAuth 2.0 Client
, (*1)
This package provides Salesforce OAuth 2.0 support for the PHP League's OAuth 2.0 Client., (*2)
Installation
To install, use composer:, (*3)
composer require flipboxdigital/oauth2-salesforce
Usage
Usage is the same as The League's OAuth client, using \Flipbox\OAuth2\Client\Provider\Salesforce as the provider., (*4)
Authorization Code Flow
$provider = new Flipbox\OAuth2\Client\Provider\Salesforce([
'clientId' => '{salesforce-client-id}',
'clientSecret' => '{salesforce-client-secret}',
'redirectUri' => 'https://example.com/callback-url',
'domain' => '{custom-salesforce-domain}' // optional, defaults to https://login.salesforce.com
'apiVersion' => '{custom-salesforce-api-version}' // optional, defaults to v21.0
]);
For further usage of this package please refer to the core package documentation on "Authorization Code Grant"., (*5)
Refreshing a Token
$provider = new Flipbox\OAuth2\Client\Provider\Salesforce([
'clientId' => '{salesforce-client-id}',
'clientSecret' => '{salesforce-client-secret}',
'redirectUri' => 'https://example.com/callback-url'
]);
$existingAccessToken = getAccessTokenFromYourDataStore();
if ($existingAccessToken->hasExpired()) {
$newAccessToken = $provider->getAccessToken('refresh_token', [
'refresh_token' => $existingAccessToken->getRefreshToken()
]);
// Purge old access token and store new access token to your data store.
}
Using a custom Salesforce domain
$provider->setDomain('https://foo-bar.salesforce.com');
For further usage of this package please refer to the core package documentation on "Refreshing a Token"., (*6)
Testing
bash
$ ./vendor/bin/phpunit, (*7)
Contributing
Please see CONTRIBUTING for details., (*8)
Credits
License
The MIT License (MIT). Please see License File for more information., (*9)