p9d / oauth2-toolkit
v0.0.2
2024-08-02 19:33 UTC
Requires
- php: ^8.3
- symfony/http-client: ^7.1
- webmozart/assert: ^1.11
Requires (Dev)
- phpstan/phpstan: ^1.11
- phpstan/phpstan-webmozart-assert: ^1.2
README
处理 OAuth2/OpenID 协议的工具。
如果您的身份提供者提供了一个已知的 OpenID 配置端点,您可以使用它来发现所有需要与它们集成的信息
$providers = [ 'your-provider-name-here' => [ 'configuration_endpoint' => 'https://<url>/realms/ACME/.well-known/openid-configuration', 'client_id' => 'XXXXXXXXXXXXX' ], 'google' => [ 'configuration_endpoint' => 'https://#/.well-known/openid-configuration' ] ]; $factory = new \P9D\OAuth2Toolkit\OpenIdConfigurationFactory( $providers, \Symfony\Component\HttpClient\HttpClient::create() ); # Access provider config via: $provider = $factory->createForProvider('your-provider-name-here');
提供者配置
configuration_endpoint
- 到 OpenID 发现端点 的 URL?client_id
此提供者使用的客户端 ID
在 OpenIdConfigurationService
中可用的方法
getAuthorizationUrl(): string
返回用户应重定向到登录的链接。
参数
grantType
,redirectUri
?clientId
- 如果未传递,则使用配置中传递的client_id
的值。?scope
?state
getJwks(): array
返回 JSON Web Key Set 的数组。