micro / plugin-oauth2-client
Micro 框架:基于 "league/oauth2-client" 的 OAuth2 客户端
2.0.0-alpha
2024-07-06 12:41 UTC
Requires
- league/oauth2-client: ^2
- micro/kernel: ^2.0
- micro/plugin-locator: ^2.0
This package is auto-updated.
Last update: 2024-09-06 21:13:50 UTC
README
Micro 框架:基于 "league/oauth2-client" 的 OAuth2 客户端
安装
使用 composer 安装插件
$ composer require micro/plugin-oauth2-client
然后安装特定的提供者。
可用的提供者: micro/plugin-oauth2-client-keycloak
然后将插件添加到插件列表中(etc/plugins.php)
$pluginsCommon = [ //....OTHER PLUGINS .... Micro\Plugin\OAuth2\Client\OAuth2ClientPlugin::class, Micro\Plugin\OAuth2\Client\Keycloak\OAuth2KeycloakProviderPlugin::class, ];
配置您的 OAuth2 提供者
适配器配置模板通常如下所示 MICRO_OAUTH2_<PROVIDER_NAME>_<PROVIDER_SETTING>
默认适配器名称 "default"
MICRO_OAUTH2_DEFAULT_TYPE=keycloak MICRO_OAUTH2_DEFAULT_CLIENT_ID=<my-client-id> MICRO_OAUTH2_DEFAULT_CLIENT_SECRET=<client-secret-key> MICRO_OAUTH2_DEFAULT_CLIENT_URL_AUTHORIZATION=<auth url> MICRO_OAUTH2_DEFAULT_CLIENT_URL_REDIRECT=<redirect url>
用法/示例
索引文档
use use Micro\Plugin\OAuth2\Client\Facade\Oauth2ClientFacadeInterface; /** Unauthorized user */ $client = $container->get(Oauth2ClientFacadeInterface::class); $provider = $client->getProvider('default'); $provider->getAuthorizationUrl(); This method will return the full path to the server for user authorization. /*** Response from the authorization server with a code */ $accessToken = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'], ]); $owner = $provider->getResourceOwner($accessToken); $id = $owner->getId(); $ownerData = $owner->toArray(); //Associated data with the user.
支持
对于支持,请发送电子邮件至 head.trackingsoft@gmail.com。