hrevert/ht-league-oauth-client-module

此包的最新版本(0.4.0)没有提供许可信息。

0.4.0 2017-06-17 14:40 UTC

This package is auto-updated.

Last update: 2024-09-13 02:58:57 UTC


README

Build Status Latest Stable Version

A Zend Framework 2 模块,用于集成来自 thephpleague/oauth2-clientthephpleague/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');