@absolutejs/agent-exchange-email
电子邮件一次性代码是无记名证书. 此来源接受 明确
policy + bearer + purpose-bound配置图或webauthn-verifier-bound + token-confined-broker + purpose-bound后者 将供应商证书和检察官办公室的处理限于信任的经纪人,但确实如此 而不是让上游的持证者耐用钓鱼.
这个 0.5.x 线条还接受精确、密码输入 standing-mandate
具有相同的受约束和有目的要求。 已签署的任务
从未扩展主机拥有的邮箱配置 .
可互换的、决定性的电子邮件源
@absolutejs/agent-exchange它使用 @absolutejs/email/verification 以找到
一个精确的校验信息, 并将保护值直接返回给代理
交换加密.
Gmail 和 Microsoft Graph 浏览器是安全的 。 IMAP 仅为服务器, 并且是
创建于 @absolutejs/email/verification/imap 在经过这里之前.
bun add @absolutejs/agent-exchange @absolutejs/agent-exchange-email @absolutejs/email
import { createEmailVerificationCodeSource } from "@absolutejs/agent-exchange-email";
import { createGmailVerificationMessageLookup } from "@absolutejs/email/verification";
const source = createEmailVerificationCodeSource({
lookup: createGmailVerificationMessageLookup({ accountEmail, client: gmail }),
profiles: [
{
bodyMarkers: ["verification code"],
correlation: { mode: "challenge-text" },
id: "accounts-example-six-digit-v1",
operations: ["verification.submit"],
origins: ["https://accounts.example.com"],
providers: ["gmail"],
senderAddresses: ["[email protected]"],
senderAuthentication: {
allowedHeaderFromDomains: ["example.com"],
trustedAuthservIds: ["mx.mailbox.example"],
},
subjectIncludesAny: ["sign in"],
},
],
resolveAccountEmail: (request) =>
mailboxDirectory.get(request.resource.accountRef),
});
过 source 改为 createAgentExchangeSender不要把它登记为MCP, A2A,
显示或一般代理工具。 来源故意不返回字符串 API;
Agent Exchange加密其可变字节结果,并在交付后清除.
规则失效
- 仅
tool-confined,单用,email-one-time-code接受请求. - 请求的精确提供者 HTTPS 来源和操作必须精确选择 一个简介.
challenge-text相关性是默认安全配置模式:请求challengeId必须在选定的信件正文中准确出现.temporal-only配置文件既需要明确的配置模式,也需要allowTemporalOnlyCorrelation: true; 仅在一个 上游电子邮件无法响应挑战 .- 可见的发件人必须有一个完全对齐的 DMARC 密码从配置,
信箱委托的RFC 8601
authserv-id。 。 。 . - 邮箱账户引用通过主机拥有的目录解决 从未被假定为电子邮件地址.
- 默认的搜索窗口在机构请求前30秒开始并结束 (a) 执行时间或请求到期时间较早。 未来的时钟定是 明确启用.
- 多个信件,多个标记绑定代码, 不信任的发送者, stille mail,
找错人了 找错人了 都安全了
source_failed错误.
电子邮件检察官办公室仍然是无记名证书,不耐打网球。 偏爱 授权、密码、服务账户或提供者授权的行动 也许吧.
此发布使用 email 6.6.0 表示 standalone-after-marker 代码布局
并保留了 HTML 块边界。 保留现有的直接标记简介
他们的行为。 仅限时间的关联性仍需明确选择加入,而且是否
无法在提供者电子邮件和浏览器会话之间证明加密绑定;
呼叫者必须将尝试序列化,并将目的地分开.
selection: "newest" (与 @absolutejs/email 0.7)使用最新数据
发件人认证匹配,而不是在多个消息匹配时失败,以及
允许 maxLookbackMs 最多24小时 这是用来 temporal-only 服务
邮箱所有者选择的邮件中
"使用最新代码". 默认 unique 选择保留两分钟的上限.
createEmailVerificationCodeSource 接受可选选项 onFailure 观察员.
它只得到一个固定类别(no_match, (中文(简体) ), ambiguous_match, (中文(简体) ), candidate_limit, (中文(简体) ),
invalid_profile, (中文(简体) ), lookup_failed,或 source_rejected) (中文(简体) ). 它从未收到
被捕获的例外,代码,消息正文,提供者响应,或源证据.
观察失败被忽略,检索继续失败被关闭. 主机可能
记录这些类别进行手术诊断,而不透露秘密.