@ambasada/ sdk (英语)
Ambasada平台客户端:与Ambasada签名,小型应用程序通知,项目商店,文件. 22号节点, Bun, Cloudflare工人, Next.js 路由处理器。 没有运行时间依赖 .
import { ambasada } from "@ambasada/sdk"; // AMBASADA_API_KEY, AMBASADA_API_URL (default https://api.ambasada.dev)
ambasada.auth.login(req) 编号 : .callback(req) 编号 : .user(req) 编号 : .logout(req) 编号 : .shell(req) | 与 Ambasada (下方) 签约 |
ambasada.apps.verifyWebhook(req) 编号 : .notify({ … }) | ambasada应用软件的事件和推动通知(Docs/MINI-APPS.md §7) |
ambasada.store.get(key) 编号 : .put(key, value) 编号 : .delete(key) 编号 : .list(prefix) | JSON 密钥值, 每个应用程序 1 MB |
ambasada.files.put(data) | 公共 URL 的文件 |
ambasada.project(), (中文(简体) ), ambasada.keys() | 应用程序的ID; API 的签名密钥 |
defineApp({ id, name, description, product }) | ambasada.config.ts |
错误是 AmbasadaError 与 code 从 @ambasada/protocol (单位:千美元)isAmbasadaError(e, "UNAUTHORIZED")),以及
WebhookInvalidError (400) (英语). 工人: createAmbasada({ env })。一个应用程序自己的数据库、KV、文件和持久
对象为工人绑定(env.DB, (中文(简体) ), env.KV, (中文(简体) ), env.FILES;docs/STORAGE.md),不是SDK的电话.
Hack A Ton经济(TON,退货,供货,代理)是加价
@ambasada/village它的0.7个名称(village, (中文(简体) ), createVillage, (中文(简体) ),
VillageError, (中文(简体) ), offering, (中文(简体) ), defineCompany,.)仍然在此被导出, @deprecated,直到2.0为止. 请注意:
createAmbasada 从 0.8 返回平台客户端; 销售代码使用 createVillage。 。 。 .
和安巴萨达签约
人们用自己的"Ambasada"ID(OAuth 2.0代码流+PKCE,同意屏幕)向您的产品签名. 无
设置在 https://<slug>.ambasada.dev数字 : ambasada deploy 注射数 AMBASADA_AUTH_CLIENT_ID, (中文(简体) ),
AMBASADA_AUTH_CLIENT_SECRET 财务报告和审定财务报表 AMBASADA_AUTH_ISSUER· ; ambasada dev 用假的和假的标志
作为"假访客". 为 Workers 和 Next.js 路由处理器获取风格的处理器, 仅WebCrypto .
const ambasada = createAmbasada({ env });
// GET /api/auth/login?returnTo=/path → redirect to the Ambasada ID consent screen
return ambasada.auth.login(req, { returnTo: "/", email: true }); // email: also ask for their email
// GET /api/auth/callback → checks state, exchanges the code, reads the profile, sets the cookie
return ambasada.auth.callback(req);
// anywhere on the server
const user = await ambasada.auth.user(req); // AmbasadaUser | null
// GET /api/auth/logout
return ambasada.auth.logout(req, { returnTo: "/" });
AmbasadaUser 实值 { id, name, avatar_url, builder, builder_since, member_since, pass, email? }数字 : id 这是
稳定型安巴萨达身份证user_…, (中文(简体) ), pass 实值 "builder" | "visitor" | "staff" | null 为本次活动, email
只有你问了 他们同意了 会话是 Http Only SameSite=Lax 饼干__Host-ambasada_session
在 https 上)持有已签名的配置文件(HMAC-SHA256,密钥取自客户端秘密),有效期为7天;没有符号
留着. returnTo 必须是您网站上的路径 . user() 还要 { headers } (下一个服务器组件 :
ambasada.auth.user({ headers: await headers() })) (中文(简体) ). ambasada.auth.configured 说明证书是否设定.
用它代替它们 createAmbasada({ auth: { clientId, clientSecret, issuer, publicUrl } })· ; PUBLIC_URL 设置
当工人看到另一个主机时,创建回调 URL。 更多:文件/AUTH.md.
pnpm build 写入 dist/ (一份无害环境管理文件+) .d.ts(三); publishConfig 将公布的软件包指向它.