喜马 / 喜马-oauth2-extended
额外的 OAuth2 提供商 + 即时用户创建
v2.0.4
2024-08-12 13:17 UTC
Requires
- php: >=8.1
- ext-pdo: *
- league/oauth2-client: >=2.7
- typo3/cms-core: ^11.0 || ^12.0
- waldhacker/typo3-oauth2-client: >=2.1.1 || dev-feature/v12-compatibility-1
Requires (Dev)
- dev-main
- v13.x-dev
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.1.0
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-acceptance-tests
- dev-fix-default-fe-group
- dev-fix-file-name
- dev-slug-fix
- dev-php-8.2
- dev-ext-emconf
- dev-remove-lock-file
- dev-renovate/lock-file-maintenance
- dev-fix-group-resolving
- dev-authentik-resolver
- dev-user-groups
- dev-profile-image
- dev-optional-configuration
- dev-quality-tools
- dev-rename-typo3-extension
This package is auto-updated.
Last update: 2024-09-18 15:54:20 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.de
和 yourProviderId
替换为您自己的数据!
登录失败
确保将 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" } }