喜马/喜马-oauth2-extended

额外的 OAuth2 提供商 + 即时用户创建

安装数: 10,438

依赖项: 0

建议者: 0

安全性: 0

星标: 3

关注者: 6

分支: 3

开放性问题: 6

类型:typo3-cms-extension

v2.0.4 2024-08-12 13:17 UTC

README

此存储库包含为 league/oauth2-client 提供的额外提供程序。当作为 TYPO3 扩展安装时,可以扩展 waldhacker/ext-oauth2-client 以实现即时用户创建。

新的资源提供程序

  • MicrosoftResourceProvider
  • AuthentikResourceProvider

TYPO3 用户创建

要从 OAuth2 认证创建前端或后端用户,您可以创建自己的资源解析器,实现 ResourceResolverInterface 并在扩展配置中注册它

'EXTENSIONS' => [
    // your existing configuration of waldhacker/ext-oauth2-client
    'oauth2_client' => [
        'providers' => [
            'yourProviderId' => [
                'description' => 'Your provider',
                'implementationClassName' => 'Xima\XimaOauth2Extended\ResourceProvider\MicrosoftResourceProvider',
                ...
            ],
            'secondProviderId' => [
                'description' => 'Another provider'
                ...
            ]
        ]
    ],

    'xima_oauth2_extended' => [
        'oauth2_client_providers' => [
            // provider of waldhacker/ext-oauth2-client you want to extend
            'yourProviderId' => [
                'resolverClassName' => \Xima\XimaOauth2Extended\ResourceResolver\MicrosoftResourceResolver::class,
                'createBackendUser' => true,
                'createFrontendUser' => false,
                'defaultBackendUsergroup' => '1,3',
                'defaultFrontendUsergroup' => '',
                'imageStorageBackendIdentifier' => '1:/user_upload/oauth',
            ],
            'secondProviderId' => [
                'resolverClassName' => \Xima\XimaOauth2Extended\ResourceResolver\GenericResolver::class,
                'createBackendUser' => true,
                'createFrontendUser' => true,
                'defaultBackendUsergroup' => '',
                'defaultFrontendUsergroup' => '',
            ],
        ],
    ],
]

可用的资源解析器

此 TYPO3 扩展提供了一个资源解析器,以通过 OAuth2 登录方便地创建和更新 TYPO3 用户。资源解析器作为从各种 OAuth 资源检索数据的映射工具。虽然默认解析器 GenericResolver 覆盖了大多数 OAuth 端点,但每个端点独特的 API 可能需要特定的处理,从而导致功能上的变化。

扩展资源解析器选项

扩展提供了可定制的选项来调整解析器的行为

常见问题解答

注册返回-URL

对于后端登录,返回 URL 看起来像这样

https://domain.de/typo3/login?loginProvider=1616569531&oauth2-provider=yourProviderId&login_status=login&commandLI=attempt

domain.deyourProviderId 替换为您自己的数据!

登录失败

确保将 cookieSameSite 设置为 lax

$GLOBALS['TYPO3_CONF_VARS']['BE']['cookieSameSite'] = 'lax';
$GLOBALS['TYPO3_CONF_VARS']['FE']['cookieSameSite'] = 'lax';
登录提供程序的顺序

要更改在 /typo3 登录页面显示的提供程序顺序(OAuth 登录覆盖经典用户名/密码),请使用以下代码段

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['loginProviders']['1616569531']['sorting'] = 75;
在 TYPO3v12 中的使用

TYPO3 扩展 waldhacker/ext-oauth2-client 尚未准备好用于 v12。然而,有一个功能分支几乎可以工作 - 此分支 会使它工作。要使用它,调整您的 composer.json

{
  "repositories": [
    {
      "url": "https://github.com/maikschneider/ext-oauth2-client.git",
      "type": "git"
    }
  ],
  "require": {
    "waldhacker/typo3-oauth2-client": "dev-feature/v12-compatibility-1"
  }
}