用途:Keycloak 是开源的身份与访问管理(IAM)解决方案,用于为应用和服务添加认证与授权,处理用户登录、注册和单点登录。此技能通过 Membrane CLI 与 Keycloak 交互,让用户或智能体管理 Keycloak 中的数据、记录并自动化工作流。涉及的核心对象包括 Realm、Client、User、Group、Role。
主要能力与用法:先安装 CLI:npm install -g @membranehq/cli@latest。认证使用 membrane login --tenant --clientName=<agentType>,无交互环境会打印授权 URL,用户完成后运行 membrane login complete <code>。连接用 membrane connection ensure "https://www.keycloak.org/" --json,若状态为 BUILDING 可轮询 npx @membranehq/cli connection get <id> --wait --json,直到 READY;遇到 CLIENT_ACTION_REQUIRED 需按 clientAction 提示操作。查找动作:membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json,可查看 inputSchema、outputSchema。运行动作:membrane action run <actionId> --connectionId=CONNECTION_ID --json,参数用 --input '{"key": "value"}'。动作不覆盖时可走代理:membrane request CONNECTION_ID /path/to/endpoint,支持 -X/--method、-H/--header、-d/--data、--json、--rawData、--query、--pathParam 等选项。任意命令加 --json 可得机器可读输出。Membrane 自动处理认证与凭证刷新,无需向用户索要 API 密钥或令牌。
适用场景:需要对 Keycloak 的 Realm、Client、User、Group、Role 等对象进行查询与管理,或通过自然语言意图发现并执行预建动作、必要时直连 Keycloak API 的自动化场景。
限制:具体可用动作清单、各对象支持的完整参数、Keycloak 部署版本与兼容性、费用与配额等,资料暂未提供;实际以 action list 查询结果与官方文档(https://www.keycloak.org/documentation)为准,不应假定未列出的功能存在。