跳转到内容

安装 Lockatus

Lockatus 以单个 Docker 镜像加一个 Postgres 数据库的形式交付。它会在首次启动时生成 RS256 签名密钥(以加密形式存储于数据库),并初始化第一个超级管理员——因此一次 docker compose up 就能给你一个可用的身份中枢。

Docker

推荐的途径。随附的 docker compose 会把中枢和 Postgres 一起启动。

一个主密钥

LOCKATUS_SECRET 加密 TOTP 密钥并签署中枢会话。生成 32 个随机字节。

一个可访问的 issuer URL

LOCKATUS_ISSUER 是令牌所携带的公开 URL——它必须能从浏览器和联合应用两端访问到。

Terminal window
git clone https://github.com/diegoparras/lockatus.git && cd lockatus
cp .env.example .env # set POSTGRES_PASSWORD and LOCKATUS_SECRET
docker compose up -d --build
docker compose logs lockatus # the generated admin password is printed once here
# → http://localhost:8081

像这样生成主密钥:

Terminal window
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
  1. 打开 http://localhost:8081,以 LOCKATUS_ADMIN_EMAIL 身份用日志中仅打印一次的密码登录 (或你在 LOCKATUS_ADMIN_PASS 中设置的密码)。
  2. 访问中,矩阵展示了谁在每个应用中拥有哪个角色。创建用户并分配角色。
  3. 可选地为你的账户启用双因素认证,并用 + App 按钮从矩阵中添加任何新的家族应用。
Route用途
GET /health服务健康状态(及数据库状态)。
GET /.well-known/openid-configuration用于 OIDC 发现的 issuer 元数据。
GET /jwks.json公钥,供各应用离线校验令牌。
VariableDefault说明
POSTGRES_PASSWORD(required)数据库密码。
LOCKATUS_SECRET(required)主密钥——加密 TOTP 密钥并签署中枢会话。
LOCKATUS_ISSUERhttp://localhost:8081嵌入令牌中的公开 issuer URL。
LOCKATUS_ADMIN_EMAILadmin@lockatus.local第一个超级管理员。
LOCKATUS_ADMIN_PASS(empty)为空 → 自动生成并在日志中打印一次。
LOCKATUS_SECURE_COOKIE0在 TLS 之后设为 1
LOCKATUS_PORT8081主机端口。