Vivid
认证与安全

管理操作

AdminSecret、ComputeAdminToken、强制下线

当配置了 AdminSecret 时,管理消息(如强制下线、触发广播)须携带匹配的 AdminToken,否则拒绝并返回 ErrorClusterAdminAuthFailed

启用方式

vivid.WithClusterAdminSecret("admin-secret"),

非空时管理操作须携带由此生成的 AdminToken。

生成 AdminToken

使用 cluster.ComputeAdminToken(需导入 github.com/kercylan98/vivid/internal/cluster):

import "github.com/kercylan98/vivid/internal/cluster"

token := cluster.ComputeAdminToken(secret)
// 将 token 填入管理消息的 AdminToken 字段

ComputeAdminToken 基于 HMAC-SHA256,使用固定 payload cluster-admin

校验逻辑

接收方使用 cluster.VerifyAdminToken 校验;若 secret 为空则跳过校验。

适用场景

  • 强制下线某节点
  • 触发广播等管理命令

管理消息类型包括 ForceMemberDown(强制下线指定节点)、TriggerViewBroadcast(立即触发一轮视图广播)等,调用时在请求中传入 AdminToken。具体字段与错误码见 集群错误

On this page