markocupic/contao-oauth2-client

Contao OAuth2 客户端

安装: 113

依赖项: 1

建议者: 0

安全: 0

星星: 2

观察者: 1

分支: 1

开放问题: 0

类型:contao-bundle

1.1.16 2024-08-18 10:17 UTC

README

Logo Marko Cupic

Contao OAuth2 客户端

此扩展作为 OAuth2 登录捆绑包(如 contao-github-logincontao-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_frontendgoogle_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 下。