mathieu-dumoutier/oauth2-envconfig

通过 .env 文件配置的 OAuth2 客户端通用提供程序

dev-main 2023-01-13 09:20 UTC

This package is not auto-updated.

Last update: 2024-09-23 23:09:51 UTC


README

此软件包为 PHP League 的 OAuth 2.0 客户端提供了从 .env 文件配置的 OAuth 2.0 通用支持。

安装

要安装,请使用 composer

composer require mathieu-dumoutier/oauth2-envconfig

使用方法

使用方法与 The League 的 OAuth 客户端相同,使用 \MathieuDumoutier\OAuth2\Client\Provider\EnvConfig 作为提供程序。

knpuniversity/oauth2-client-bundle 配置示例

knpu_oauth2_client:
    clients:
        yourapp_oauth:
            type: generic
            provider_class: MathieuDumoutier\OAuth2\Client\Provider\EnvConfigProvider
            provider_options:
                "scopes": '%env(OAUTH2_SCOPES)%'
                "app_url": '%env(OAUTH2_BASE_APP_URL)%'    
                "api_url": '%env(OAUTH2_BASE_API_URL)%'    
            client_id: '%env(OAUTH2_CLIENT_ID)%'
            client_secret: '%env(OAUTH2_CLIENT_SECRET)%'
            redirect_route: oauth2_check
            redirect_params: {}
            use_state: false

您必须定义 6 个环境变量

  • OAUTH2_CLIENT_ID
  • OAUTH2_CLIENT_SECRET
  • OAUTH2_SCOPES (您希望请求的范围)
  • OAUTH2_BASE_APP_URL
  • OAUTH2_BASE_API_URL

您必须在控制器中创建路由 "oauth2_check"

#[Route('/oauth2_check', name: 'oauth2_check')]
public function oauth2Check(): void
{
    // This action is not executed because onAuthenticationSuccess() method of the OAuth2Authenticator class redirect before
}