hrevert / ht-league-oauth-client-module
此包的最新版本(0.4.0)没有提供许可信息。
0.4.0
2017-06-17 14:40 UTC
Requires
- php: >=7.0
- league/oauth1-client: ~1.0
- league/oauth2-client: 2.*
- league/oauth2-facebook: 2.*
- roave/security-advisories: dev-master
- zendframework/zend-servicemanager: ^3.3
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-13 02:58:57 UTC
README
A Zend Framework 2 模块,用于集成来自 thephpleague/oauth2-client 和 thephpleague/oauth1-client 库的 thephpleague 的 oauth2-client 和 oauth1-client 库。
用法
对于 OAuth2
// in config/module.config.php use HtLeagueOauthClientModule\Module; return [ Module::CONFIG => [ 'oauth2_clients' => [ 'facebook' => [ 'clientId' => 'XXXXXXXX', 'clientSecret' => 'XXXXXXXX', 'redirectUri' => 'https://your-registered-redirect-uri/', ], ], ], ];
$facebookProvider = $serviceLocator->get('HtLeagueOauthClientModule\Oauth2ClientManager')->get('facebook');
创建自定义 OAuth2 提供商
- 创建一个实现了
League\OAuth2\Client\Provider\ProviderInterface
接口的类。
class MyProvider implements League\OAuth2\Client\Provider\ProviderInterface { // ..... }
- 通知 OAuth2 客户端管理器关于新的提供者
// in config/module.config.php use HtLeagueOauthClientModule\Module; return [ Module::CONFIG => [ 'oauth2_client_manager' => [ 'factories' => [ 'my_provider' => 'MyProviderFactory', ], ], ], ];
- 使用提供者
$myProvider = $serviceLocator->get('HtLeagueOauthClientModule\Oauth2ClientManager')->get('my_provider');
对于 OAuth1
// in config/module.config.php use HtLeagueOauthClientModule\Module; return [ Module::CONFIG => [ 'oauth1_clients' => [ 'twitter' => [ 'identifier' => 'your-identifier', 'secret' => 'your-secret', 'callback_uri' => 'http://your-callback-uri/', ], ], ], ];
$twitterProvider = $serviceLocator->get('HtLeagueOauthClientModule\Oauth1ClientManager')->get('twitter');
创建自定义 OAuth2 提供商
- 创建一个扩展
League\OAuth1\Client\Server\Server
的类。
class MyProvider extends League\OAuth1\Client\Server\Server { // ..... }
- 通知 OAuth1 客户端管理器关于新的提供者
// in config/module.config.php use HtLeagueOauthClientModule\Module; return [ Module::CONFIG => [ 'oauth1_client_manager' => [ 'factories' => [ 'my_provider' => 'MyProviderFactory', ], ], ], ];
- 使用提供者
$myProvider = $serviceLocator->get('HtLeagueOauthClientModule\Oauth1ClientManager')->get('my_provider');