burnthebook/craft-flarum-sso

为Craft 4添加单点登录(SSO),将Flarum作为从属

安装: 56

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

类型:craft-plugin

1.0.3 2024-07-25 15:22 UTC

This package is auto-updated.

Last update: 2024-09-25 15:35:42 UTC


README

为Craft 4添加单点登录(SSO),将Flarum作为子项目

需求

此插件需要Craft CMS 4.5.0或更高版本,以及PHP 8.0.2或更高版本。

此插件还需要在您的Flarum安装上安装和配置Flarum SSO扩展

安装

您可以从插件商店或使用Composer安装此插件。

从插件商店

转到项目控制面板中的插件商店,搜索“Flarum SSO for Craft 4”,然后点击“安装”。

使用Composer

打开您的终端并运行以下命令

# go to the project directory
cd /path/to/my-project.test

# tell Composer to load the plugin
composer require burnthebook/craft-flarum-sso

# tell Craft to install the plugin
./craft plugin/install flarum-sso

配置

要配置插件,请转到设置 > 插件(页面底部部分) > Flarum SSO for Craft 4,并点击图标。

有三个必填设置

Flarum URL 您的Flarum安装的URL。建议使用Craft CMS安装的子域名,例如 https://discuss.craftcms.com

Flarum API密钥 您手动插入到Flarum安装的api_keys数据库表中的API密钥

论坛SSO Cookie - 域 SSO Cookie的根域名。如果您的Craft CMS安装是 www.craftcms.com,而您的Flarum安装是discuss.craftcms.com,则将此设置为'craftcms.com'

设置页面上的其余设置都是可选的,并且已预先配置为与您将在Flarum安装上安装的maicol07/flarum-ext-sso包正确工作,因此除非您需要出于安全原因配置cookie设置,否则可以保持不变。

使用

此插件自动连接到CraftCMS的登录、注册和注销事件,以便在Flarum端复制这些事件。例如,您登录到CraftCMS,您就登录到Flarum。您在CraftCMS上创建账户,您的账户在Flarum上创建。

此外,如果您在Craft CMS上有现有的用户,但在Flarum中不存在,在安装此插件后登录Craft CMS网站,将自动为他们创建Flarum上的用户 - 他们无需再次注册。

故障排除/常见问题解答

问题:我在Craft登录后未登录到Flarum

答案:确保您的根域名匹配,由于cookie的原因,最好将Flarum论坛放在子域名中,而Craft CMS放在另一个子域名或根域名中。

此外,确保您的cookie域名已在插件设置中设置,如配置部分中所述。

例如:如果您的Craft CMS安装是craftcms.com,则希望您的Flarum安装是discuss.craftcms.com,并在插件设置中将cookie域名设置为"craftcms.com"。

问题:我在登录或创建Craft CMS账户时收到“认证失败:未经授权”错误,尽管我知道用户名和密码是正确的

答案:确保您的API密钥在插件设置中正确设置,如配置部分中所述。确保没有前后空格或多余的字符。可选,确保在Flarum api_keys表中设置的API密钥(必须手动插入)是管理员用户的。

问题:我想查看API返回的更详细的日志,而不是插件输出的友好错误消息

回答:当然,我们记录所有原始错误响应到存储路径下的logs/flarum-sso---

.log文件

问题:我如何以管理员身份登录Flarum?

回答:由于maicol07/flarum-ext-sso和Flarum的工作方式,您需要确保Flarum安装和Craft CMS安装的管理员账户具有相同的用户名和密码。然后,当您以管理员身份登录Craft CMS时,您将自动登录到Flarum的管理员账户。在第一次设置Flarum安装时,这一点需要注意。

问题:我的所有Craft CMS用户可以进入Flarum中的用户组以表示他们来自CraftCMS吗?

回答:这个功能(或任何群组功能)目前不支持,但如果有很多兴趣,我们可以考虑实现。

问题:我的用户是否可以在没有Craft CMS账户的情况下登录Flarum?

回答:不,一旦在Craft CMS中安装了此插件并在Flarum中安装了maicol07/flarum-ext-sso,您的用户将需要Craft CMS账户才能登录Flarum。Craft CMS成为父应用程序,Flarum成为子应用程序,因此所有用户管理都应该在CraftCMS内进行。

问题:如果Flarum中已经存在用户怎么办?

回答:此插件旨在与1.0.0版本以来的全新Flarum安装一起使用。如果有很多兴趣,未来我们可能会添加逻辑来检查用户是否已经在Flarum中存在,并在CraftCMS中创建用户,但到目前为止,我们只检查用户是否在Craft CMS中存在,如果存在并且已使用正确的凭据进行身份验证,就在Flarum中创建他们并进行身份验证。