FIT2CLOUD
BlogsClub 账号登录 的图标

BlogsClub 账号登录

156
11

让 Halo 支持使用 BlogsClub 开放平台账号进行 OAuth 登录、自动注册与账号绑定

1.4.4
ybrc114514 发布于

1.4.4

最新
>=2.20.8

v1.4.4

针对应用市场审核意见的修复版本,并修正了自动建号与站点注册策略的若干行为。

修复

  • 修复控制台「BlogsClub 应用配置」表单不显示、无法配置 AppID / AppKey 的问题

    审核延伸发现:插件此前未在 plugin.yaml 声明 settingName 与 configMapName,Halo 据此跳过了 Setting 与 ConfigMap 扩展的初始化(日志提示「the plugin configMapName is blank」),导致控制台根本不渲染配置表单,只能通过 json-config 接口手工写入,且接口还会报 configMapName is blank。

    现已补全 settingName: blogsclub-oauth2-setting 与 configMapName: oauth2-blogsclub-config。升级后控制台「用户 → 认证方式 → BlogsClub → 设置」会正常出现配置表单,AppID / AppKey 可在界面维护。

  • 修复首次登录自动建号时写入空密码导致 500 的问题

    此前自动创建的账号密码字段为空,部分 Halo 版本在建号流程中会因此抛出 500。现已改为写入一段随机生成的 64 位加密密码(userService.encryptPassword(RandomStringUtils.secure().nextAlphanumeric(64))),账号可正常落地,密码对登录无影响(用户始终通过 BlogsClub 授权登录)。

  • 修复自动建号未遵循站点「注册时必须验证邮箱」设置的问题

    此前只要站点开放注册就会无条件自动建号,忽略了后台「注册时必须验证邮箱(mustVerifyEmailOnRegistration)」开关,可能创建出未验证邮箱的账号。

    现已严格遵循该设置:

    • 站点开启「必须验证邮箱」时,插件不再自动建号,交由 Halo 原生绑定流程处理(跳转 /login?oauth2_select),避免产生未验证邮箱的账号;
    • 站点未开启该设置且允许注册时,自动建号并将 BlogsClub 返回的邮箱写入并标记为已验证(emailVerified=true),用户无需再走邮箱验证步骤;
    • 站点关闭「允许注册」时,同样不自动建号,回退 Halo 原生流程。

升级说明

  • 本次修复涉及配置扩展的声明(新增 settingName / configMapName),升级后请到控制台「用户 → 认证方式 → BlogsClub → 设置」确认 AppID / AppKey 已正确填写;此前若通过 json-config 手工写入,升级后可改由控制台表单统一维护。
  • 升级后建议重新走一次 BlogsClub 登录 / 绑定,确认账号正常创建、邮箱被正确标记。
  • 与官方 OAuth2 认证插件可共存、可分别停用、任意启动顺序互不影响(自 v1.4.2 起已修复)。
  • 升级前建议确认当前版本:若为 v1.4.1,请直接升级到 v1.4.4。

兼容性

  • Halo 2.20.8 或更高版本(已在 Halo 2.27.0 实测通过)
  • Java 21+
  • 与官方 OAuth2 认证插件可共存

Full Changelog: https://github.com/YBRC114514/plugin-BlogsClub-OAuth/compare/v1.4.2...v1.4.4

资源下载

  • plugin-blogsclub-1.4.4.jar