p9d/oauth2-toolkit

v0.0.2 2024-08-02 19:33 UTC

This package is auto-updated.

Last update: 2024-09-03 20:36:22 UTC


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 的数组。