自建服务 · 2021年10月10日 2

Flarum使用WordPress账户登录

今天准备使用Flarum来建立Minecraft服务器论坛,但是服务器已经有了官方网站如果再用Flarum自己的账户系统设置账号密码等未免有些太复杂,抱着这个目的寻找到一种Flarum使用Wordpress账户登录的办法。下边就来介绍如何使用Flarum SSO实现Flarum使用Wordpress账户登录。

0.环境需求

  • PHP 7.3+
  • PHP JSON 扩展安装并启用

1.Wordpress部分配置

  • 进入“仪表盘”,进入“插件”中的“安装插件”。
  • 搜索“SSO for Flarum”插件并安装(若找不到可手动安装,WordPress插件地址)。
  • 安装结束后启用该插件。
  • 在“设置”中寻找“Flarum SSO Settings”,点击进入设置插件。
  • 请按照以下说明设置:
    • Enable SSO 勾选以开启插件功能。
    • Flarum URL 填写您的Flarum论坛的域名,如https://example.com。
    • Root Domain 在此处填写您的Wordpress网站地址。
    • API Key 您可随机生成一串字符,作者建议生成长度40的字符串以提高安全性,您可使用一款此链接将前往内容农场随机密码生成器。请记住此字符串后续Flarum配置仍然需要。
    • Password Token 您可随机生成一串字符,作者建议生成长度40的字符串以提高安全性,您可使用一款此链接将前往内容农场随机密码生成器。
    • Verify SSL 是否验证您的SSL证书。若您使用https协议请务必选择此项以免出现错误,http协议不需要选中此项。
    • SSL certificate absolute path 您的域名SSL证书的绝对路径,若您“Verify SSL”勾选才需要填写此部分。
    • Update user avatar 传输用户头像,可选。
  • 保存更改,完成Wordpress部分设置。

2.Flarum设置

  • 在Shell中使用以下命令安装插件
composer require maicol07/flarum-ext-sso
  • 进入“后台管理”,找到“SSO (Single Sign On)”,开启插件。
  • 修改链接设置,一般的应设置为
    • 注册链接:https://你的域名/wp-login.php?action=register
    • 登录链接:https://你的域名/wp-login.php?redirect_to=forum
    • 退出登录链接:https://你的域名/wp-login.php?action=logout
  • 其他设置按照您的情况进行,这里我保留了登录按钮去除了注册按钮。

3.Flarum数据库设置

此处使用phpmyadmin为例,若您使用其他软件请您仿照操作进行,当然您也可以使用SQL语句操作。

首先进入表“API Keys”

进入后,点击上方“插入”选项卡,按下图填写内容

填写完毕后执行。我们可以得知执行的SQL语句形如:

INSERT INTO `api_keys` (`key`, `id`, `allowed_ips`, `scopes`, `user_id`, `created_at`, `last_activity_at`) VALUES
('您先前设置的API Key', 1, NULL, NULL, 您选择的管理员用户ID(是一个int,如“1”), '时间(如“2021-10-10 10:47:20”)', NULL);

至此,您已经完成了设置。

4.测试是否可用

进入您的论坛点击登录,转跳到您的Wordpress网站,输入账号密码登陆后应当转跳回论坛并且登陆上用户。

注意

  • API Key中指定的管理员用户wordpress用户名要与Flarum的username一致,否则会跳回Flarum论坛后未显示登录。
  • 不要修改Flarum的username,要与wordpress用户名一致才能登陆(由于wordpress用户名不能改所以此处着重强调Flarum)

参考文章

心情表态
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0