Amazon Cognito
v1.0.2Amazon Cognito 集成。管理数据、记录,并自动化工作流。当用户希望与 Amazon Cognito 数据交互时使用。
运行时依赖
安装命令
点击复制技能文档
Amazon Cognito
Amazon Cognito 是一个允许开发者将用户注册、登录和访问控制添加到 Web 和移动应用程序的服务。它帮助管理用户身份并通过各种方法(包括社交媒体提供商和企业身份系统)对用户进行身份验证。开发者使用它来卸载用户身份验证和授权的复杂性。
官方文档:https://docs.aws.amazon.com/cognito/
Amazon Cognito 概述
用户池
用户身份池
联合身份
身份验证流程
MFA 配置
属性
设备组
客户端应用程序
自定义身份验证
挑战令牌
日志
错误
使用 Amazon Cognito
此技能使用 Membrane CLI 与 Amazon Cognito 交互。Membrane 自动处理身份验证和凭证刷新,因此您可以专注于集成逻辑而不是身份验证管道。
安装 CLI
安装 Membrane CLI 以便您可以从终端运行 membrane:
npm install -g @membranehq/cli@latest
身份验证
membrane login --tenant --clientName=
这将打开浏览器进行身份验证或打印授权 URL 到控制台,具体取决于是否可用交互模式。
无头环境:
命令将打印授权 URL。要求用户在浏览器中打开它。
当他们完成登录后看到代码时,使用以下命令完成:
membrane login complete
将 --json 添加到任何命令以获取机器可读的 JSON 输出。
代理类型:
claude、openclaw、codex、warp、windsurf 等。这些将用于调整工具以便与您的工具架最佳匹配。
连接到 Amazon Cognito
使用 membrane connection ensure 查找或创建连接通过应用程序 URL 或域名:
membrane connection ensure "https://aws.amazon.com/cognito/" --json
用户在浏览器中完成身份验证。输出包含新的连接 ID。这是获取连接的最快方式。URL 被规范化为域名并与已知应用程序匹配。如果找不到应用程序,则创建一个应用程序并自动构建连接器。
如果返回的连接具有状态:"READY",则跳转到步骤 2。
1b. 等待连接就绪
如果连接处于 BUILDING 状态,请轮询直到它就绪:
npx @membranehq/cli connection get --wait --json
--wait 标志长轮询(最多 --timeout 秒,默认 30)直到状态更改。继续轮询直到状态不再是 BUILDING。结果状态告诉您下一步要做什么:
READY — 连接已完全设置。跳转到步骤 2。
CLIENT_ACTION_REQUIRED — 用户或代理需要执行某个操作。clientAction 对象描述了所需的操作:
clientAction.type — 所需操作的类型: "connect" — 用户需要身份验证(OAuth、API 密钥等)。这涵盖了初始身份验证和断开连接的重新身份验证。
"provide-input" — 需要更多信息(例如要连接到的应用程序)。
clientAction.description — 人类可读的对所需操作的解释。
clientAction.uiUrl(可选)— 用户可以完成操作的预建 UI 的 URL。当存在时显示给用户。
clientAction.agentInstructions(可选)— AI 代理如何继续处理的指令。
用户完成操作(例如在浏览器中身份验证)后,再次使用 membrane connection get --json 轮询以检查状态是否已移动到 READY。
CONFIGURATION_ERROR 或 SETUP_FAILED — 出错了。检查 error 字段以获取详细信息。
搜索操作
使用自然语言描述您要执行的操作来搜索:
membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json
您应该始终在特定连接的上下文中搜索操作。每个结果包括 id、name、description、inputSchema(操作接受的参数)和 outputSchema(操作返回的内容)。
热门操作
使用 npx @membranehq/cli@latest action list --intent=QUERY --connectionId=CONNECTION_ID --json 发现可用的操作。
运行操作
membrane action run --connectionId=CONNECTION_ID --json
要传递 JSON 参数:
membrane action run --connectionId=CONNECTION_ID --input '{"key": "value"}' --json
结果在响应的 output 字段中。
代理请求
当可用的操作不涵盖您的用例时,您可以通过 Membrane 的代理直接向 Amazon Cognito API 发送请求。Membrane 自动追加基本 URL 到您提供的路径并注入正确的身份验证标头,包括透明的凭证刷新(如果它们过期)。
membrane request CONNECTION_ID /path/to/endpoint
常见选项:
标志 描述
-X, --method HTTP 方法(GET、POST、PUT、PATCH、DELETE)。默认为 GET
-H, --header 添加请求标头(可重复),例如 -H "Accept: application/json"
-d, --data 请求正文(字符串)
--json 简化发送 JSON 正文并设置 Content-Type: application/json
--rawData 以不修改的形式发送正文