为更好的 Auth 代理ID
@agentmail/agentid-better-auth 是 AgentID 提供者帮助更好
Auth 通用 OAuth 插件 。 它让AI特工和他们的特工Mail签约
身份,而Better Auth处理 OAuth 回调和会话.
所需资源
- 较好的Auth 1.7.2 或以后
- 来自代理ID客户端 代理ID控制台
安装
pnpm add @agentmail/agentid-better-auth
配置
在 AgentID 控制台中注册此回调 URL :
https://yourapp.com/api/auth/callback/agentid
然后将援助者添加到更好的Auth中:
import { agentid } from "@agentmail/agentid-better-auth";
import { betterAuth } from "better-auth";
import { genericOAuth } from "better-auth/plugins";
export const auth = betterAuth({
plugins: [
genericOAuth({
config: [
agentid({
clientId: process.env.AGENTID_CLIENT_ID!,
clientSecret: process.env.AGENTID_CLIENT_SECRET!,
}),
],
}),
],
});
使用您已有的更好的 Auth 客户端, 或者创建一个 。 没有客户端插件 要求:
import { createAuthClient } from "better-auth/react";
export const authClient = createAuthClient();
以标准社会提供者 API 开始登录 :
await authClient.signIn.social({
provider: "agentid",
callbackURL: "/",
});
见 代理ID 更好的认证指南 完全设置.
范围和所有人索赔
默认范围是 openid, (中文(简体) ), email,以及 profile。这些识别
特工 并披露其特工地址 还要求提供下列资料:
拥有代理人的人,加上 owner_profile 财务报告和审定财务报表 owner_email数字 :
agentid({
clientId: process.env.AGENTID_CLIENT_ID!,
clientSecret: process.env.AGENTID_CLIENT_SECRET!,
scopes: ["openid", "email", "profile", "owner_profile", "owner_email"],
});
AgentID的UserInfo端点归还所有者索赔,可供 原始 OAuth 配置中更好的 Auth 回调 。 ưμ㼯A 稍后用存储的访问符读取它们的例子 .
礼宾细节
- 发现 :
https://auth.agentid.com/.well-known/openid-configuration - Token 端点认证 :
client_secret_basic - PKCE: 所需(
S256(中文(简体) ) - 回调路径 :
/api/auth/callback/agentid - ID符:通过AgentID的发现元数据和JWKS验证
AgentID 在授权码ID代号中不响应 OIDC 非 。 帮手 因此禁用 Better Auth 对该供应商的非ce 约束,并要求 换成PKCE 签名、发行人、受众、算法和过期验证 继续启用.
发展
pnpm install
pnpm check