console: sync the registration wizard and issue real API tokens

Mirror the Console registration feature: native hook catalog with
activation plans, one-command install that embeds both credentials in
exclusively created owner-only files (mktemp on POSIX, icacls on
Windows), sh/PowerShell tabs, never-expiring default token, focus-visible
styles, merged i18n keys, and the matching e2e specs.

The server previously answered /v1/auth/token with the 7-day Better Auth
session token and ignored ttl_seconds. It now issues opaque 32-byte API
tokens stored as SHA-256 hashes (migration 003), honours ttl_seconds with
null meaning no expiry, and resolves bearer values as API tokens before
session validation. Issuance requires a session credential.

Claude-Session: https://claude.ai/code/session_01QoUjdc7HGKTsgj5GhG8HvF
This commit is contained in:
雷电芽衣 committed 2026-09-02 09:56:40 -04:00
1 parent 1bb9d4d49d
commit edf9d73c3e
21 files changed
+967 -163

No files matched your search

+19 -2
View File
@@ -330,13 +330,15 @@
"connect": "连接"
},
"integrationGroups": {
"adapter": "CLI 适配器",
"hooks": "原生 Hooks",
"sdk": "自定义 SDK"
},
"hookBadge": "HOOKS",
"integration": "集成",
"copySetup": "复制安装命令",
"copyUsage": "复制操作示例",
"copyVerify": "复制验证命令",
"copyPostInstall": "复制激活命令:{{command}}",
"copyPrivateKey": "复制私钥",
"copyApiToken": "复制 API 令牌",
"copyFailed": "复制失败。",
@@ -346,9 +348,24 @@
"record": "记录操作",
"verify": "验证",
"postInstall": "安装后步骤",
"postInstallSteps": {
"inspectCursorHooks": "打开 Customize → Hooks,在 Hooks 输出通道中确认 Elydora。",
"inspectEnvironment": "确认已加载环境包含 Elydora hooks。",
"inspectGrokConfig": "确认 Elydora PreToolUse、PostToolUse 与 PostToolUseFailure hooks。",
"inspectKiroIdeHooks": "打开 Kiro 面板中的 Agent Hooks,确认 Elydora Audit 已启用。",
"launchKiroV2": "在 Kiro CLI v2 中启动 Elydora audit agent。",
"launchKiroV3": "启动 Kiro CLI v3 并加载全局 Elydora hooks。",
"listHooks": "列出已加载的 Elydora hooks。",
"openHooks": "打开 hook 管理器并检查 Elydora hooks。",
"reviewAndTrustHooks": "检查并信任两个 Elydora command hooks。",
"restartSession": "重启当前 {{integration}} 会话。",
"startSession": "启动新的 {{integration}} 会话。",
"startTask": "启动新的 {{integration}} 任务。"
},
"sdkLanguage": "SDK 语言",
"shell": "终端",
"secretDelivery": {
"hidden-prompts": "CLI 会在关闭终端回显后请求这两项凭据。",
"embedded": "命令会把两项凭据写入仅所有者可读的文件,安装 hook 后立即删除。",
"environment": "请在运行环境中设置 ELYDORA_PRIVATE_KEY 与 ELYDORA_API_TOKEN。"
}
},