dmt-software/salesforce-oauth-middleware
Composer 安装命令:
composer require dmt-software/salesforce-oauth-middleware
包简介
Salesforce OAuth 2.0 middleware for REST API calls
README 文档
README
This authorization middleware uses the OAuth grant_type password
to authenticate and authorize a request to the Salesforce REST API.
Install
composer require dmt-software/salesforce-oauth-middleware
Usage
<?php use DMT\Salesforce\Auth\Authorization\SalesforceAuthorization; use DMT\Auth\AuthorizationMiddleware; use GuzzleHttp\Client; use GuzzleHttp\Handler\CurlHandler; use GuzzleHttp\HandlerStack; use GuzzleHttp\Middleware; use Stevenmaguire\OAuth2\Client\Provider\Salesforce; $oAuthProvider = new Salesforce( [ 'clientId' => 'YourCustomedKey', 'clientSecret' => 'YourCustomerSecret', 'redirectUri' => 'https://localhost', // wont be visited for grant_type password ] ); $authMiddleware = new AuthorizationMiddleware( new SalesforceAuthorization($oAuthProvider, 'YourUsername', 'YourPasswordAmdSecret') ); $stack = new HandlerStack(); $stack->setHandler(new CurlHandler()); $stack->push(Middleware::mapRequest($authMiddleware)); $client = new Client([ 'handler' => $stack ]); // request will be authorized and routed to your client (sub)domain according to the instance_url received from OAuth $response = $client->get('https://salesforce.com/services/data/v26.0/sobjects/Account');
Cache
To re-use an access token this middleware can be configured with a PSR-16 cache implementation.
<?php use DMT\Salesforce\Auth\Authorization\SalesforceAuthorization; use DMT\Auth\AuthorizationMiddleware; use Psr\SimpleCache\CacheInterface; use Stevenmaguire\OAuth2\Client\Provider\Salesforce; /** @var Salesforce $oAuthProvider */ /** @var CacheInterface $dataCache */ $authMiddleware = new AuthorizationMiddleware( new SalesforceAuthorization($oAuthProvider, 'YourUsername', 'YourPasswordAmdSecret', $dataCache) );
NOTE: Currently Salesforce does not provide an expiration time or refresh token when grant_type password is used.
Cached access tokens will be recycled every hour (when handled by this middleware).
This might change later to better suit implementations (I'm open for suggestions).
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 8
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-05-25