codemonkey1988 / be-google-auth
Google oAuth2 登录,用于后端用户。
Requires
- hackzilla/password-generator: ^1.4
- typo3/cms-core: ^9.5 || ^10.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.13
- nimut/testing-framework: ^5.0
Replaces
- typo3-ter/be-google-auth: 0.3.3
README
此扩展为TYPO3后端用户启用Google oAuth身份验证。
动机
公司尤其是代理商需要管理多个实例的多个TYPO3后端用户。这可能是一个非常令人烦恼且容易出错的过程。此扩展使TYPO3后端登录可以通过可能由G Suite管理员账户管理的Google账户进行,因此存在集中用户管理。
安装
目前,此扩展只能通过composer安装。
composer require codemonkey1988/be-google-auth
配置
要使用此扩展,您必须创建一个Google OAuth客户端ID。
创建Google OAuth客户端ID
首先,您需要创建OAuth凭据
- 登录到 https://console.cloud.google.com/
- 使用左上角的汉堡菜单导航到 APIs & Services
- 在子导航中导航到 凭据
- 使用 创建凭据 按钮,并选择 OAuth客户端ID 创建新的凭据
- 将应用程序类型选择为 Web应用程序
- 输入凭据的名称
- 将您的TYPO3安装的URL输入到 授权JavaScript来源 字段
- 将 授权重定向URL 字段留空
其次,您需要设置OAuth同意屏幕
- 登录到 https://console.cloud.google.com/
- 使用左上角的汉堡菜单导航到 APIs & Services
- 在子导航中导航到 凭据
- 切换到标签 OAuth同意屏幕
- 将 应用程序类型 设置为内部
- 输入应用程序名称,并可选地上传一个标志
- 将以下项添加到 Google API作用域:
email, profile, openid
您尚未准备好出发。为了提高安全性,您还可以根据您的TYPO3安装设置 授权域名。
设置扩展
安装扩展后,您需要进行一些设置(这将会很快😉)
- 转到扩展配置
(在TYPO3 v8中,在 扩展 模块中使用⚙️按钮即可获得,在TYPO3 v9中,请转到 设置 模块并选择 扩展配置) - 将您的Google OAuth客户端ID输入到相应的字段并保存配置
- 创建或编辑后端用户,并将用户的Google账户电子邮件地址添加到电子邮件字段
此用户现在可以使用其Google账户登录。该用户将拥有与使用用户名和密码登录相同的权限。
设置G Suite使用
此扩展还支持G Suite账户。使用G Suite设置允许配置的组织中的所有用户使用他们的Google账户登录,而无需首先创建后端用户。如果没有后端用户,则在新用户首次登录过程中将自动创建新用户。
设置也是在扩展配置中完成的(请参阅 设置扩展)。以下部分将描述可用的设置。
启用Google G Suite功能
启用G Suite功能。
组织
应获得对TYPO3系统访问权限的G Suite组织(域)列表。注意,属于这些组织中任何一个的用户都将获得对TYPO3后端的访问权限。
默认创建管理员用户 每个登录到TYPO3的新用户都将自动获得管理员权限。请谨慎使用!
通过电子邮件地址在文件中创建管理员用户
您可以指定一个包含电子邮件地址(每行一个)的文本文件的路径。所有与该文件中电子邮件地址匹配的新用户都将获得管理员权限。其他所有账户将是正常的TYPO3后台用户。(参见 后台用户组UID)
您可以使用本地路径(也可使用EXT:前缀)或URL。
后台用户组UID 后台用户组的UID列表。这些后台用户组将被分配给所有没有管理员权限的新用户。
发现任何问题吗?
您可以在 https://github.com/codemonkey1988/be-google-auth/issues 创建新问题。
如果您发现了 安全问题 ,请使用以下方法中的任何一种与我个人联系
- Twitter: @codemonkey1988
- TYPO3 Slack: timschreiner
- Email: dev@tim-schreiner.de
特别感谢
特别感谢 Georg Ringer 的灵感启发。此扩展基于他的扩展 google_signin。