digitalcz/oidc-discovery

PHP 实现 https://openid.net/specs/openid-connect-discovery-1_0.html


README

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require CI Scrutinizer Code Quality codecov

PHP 实现 https://openid.net/specs/openid-connect-discovery-1_0.html

安装

通过 Composer

$ composer require digitalcz/oidc-discovery

使用方法

如果存在 php-http/discovery 包,DiscoveryFactory 将使用它来查找 PSR18 客户端和 PSR17 工厂。

use DigitalCz\OpenIDConnect\Discovery\DiscovererFactory;

$discoverer = DiscovererFactory::create()
$providerMetadata = $discoverer->discover('https://#/.well-known/openid-configuration');
$issuer = $providerMetadata->issuer(); // https://#
$tokenEndpoint = $providerMetadata->tokenEndpoint(); // https://oauth2.googleapis.com/token

否则,您可以手动提供这些内容

use DigitalCz\OpenIDConnect\Discovery\DiscovererFactory;
use Http\Client\Curl\Client;
use Nyholm\Psr7\Factory\Psr17Factory;

$client = new Client();
$requestFactory = new Psr17Factory();
$discoverer = DiscovererFactory::create($client, $requestFactory);

添加缓存以避免不必要的调用

use DigitalCz\OpenIDConnect\Discovery\DiscovererFactory;
use Symfony\Component\Cache\Adapter\FilesystemAdapter
use Symfony\Component\Cache\Psr16Cache;

$cache = new Psr16Cache(new FilesystemAdapter())
$discoverer = DiscovererFactory::create(cache: $cache, cacheTtl: 1800);

更多示例请见 examples

变更日志

有关最近更改的详细信息,请参阅 CHANGELOG

测试

$ composer csfix    # fix codestyle
$ composer checks   # run all checks 

# or separately
$ composer tests    # run phpunit
$ composer phpstan  # run phpstan
$ composer cs       # run codesniffer

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何安全问题,请通过电子邮件 devs@digital.cz 联系,而不是使用问题跟踪器。

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件