micro/plugin-oauth2-client

Micro 框架:基于 "league/oauth2-client" 的 OAuth2 客户端

2.0.0-alpha 2024-07-06 12:41 UTC

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

作者

许可协议

MIT