markocupic / contao-oauth2-client
Contao OAuth2 客户端
1.1.16
2024-08-18 10:17 UTC
Requires
- php: ^8.2
- contao/core-bundle: ^5.3
- league/oauth2-client: ^2.7
- markocupic/contao-twig-assets: ^1.1
- symfony/config: ^6.4 || ^7.0
- symfony/dependency-injection: ^6.4 || ^7.0
- symfony/http-foundation: ^6.4 || ^7.0
- symfony/http-kernel: ^6.4 || ^7.0
- symfony/security-core: ^6.4|| ^7.0
- symfony/security-http: ^6.4 || ^7.0
Requires (Dev)
- contao/manager-plugin: ^2.12
README
Contao OAuth2 客户端
此扩展作为 OAuth2 登录捆绑包(如 contao-github-login 或 contao-azure-login)的基础插件,包含后端和前端验证器。
demo.mp4
按照以下步骤创建您的自定义 oauth2 登录插件。
- 创建一个捆绑包并将其命名为
vendorname/contao-***-login
- 在您的 composer require 'markocupic/contao-oauth2-client' 中,OAuth 基础扩展
league/oauth2-github
例如league/oauth2-client
。查看 knpuniversity/oauth2-client-bundle 以找到您选择的客户端库。 - 为您的后端和前端登录创建
***BackendClientFactory
类(例如 GoogleBackendClientFactory)和***FrontendClientFactory
类(例如 GoogleFrontendClientFactory)。这两个类必须扩展Markocupic\ContaoOAuth2Client\OAuth2\Client\AbstractClientFactory
。 - 作为 客户端名称,您可以选择如下这样的名称:
github_frontend
或google_backend
。只使用字母和下划线。 - 创建您的按钮生成器类
ButtonGenerator
,该类必须实现Markocupic\ContaoOAuth2Client\ButtonGenerator\ButtonGeneratorInterface
。 - 如果 Contao 用户没有被
email
断言识别,您必须编写自己的令牌处理器,该处理器必须实现Markocupic\ContaoOAuth2Client\OAuth2\Token\TokenHandlerInterface
。 - 在
src/DependencyInjection
文件夹中创建您的扩展
和配置
类。 - 创建您的按钮并将其存储在捆绑包的
templates/backend
目录中。 - 创建前端模板
mod_login_***.html.twig
,该模板扩展@MarkocupicContaoOAuth2Client/frontend/modules/_mod_login_oauth2_base.html.twig
,并将其存储在contao\templates\modules\mod_login_***.html.twig
下。 - 创建登录按钮组件并将其存储在
templates\component\_login_button.htl.twig
下。