{"_id":"@aitianyu.cn/idp-oauth-client","_rev":"2-471f994a7e2b5a703f3349f6ea522c6a","name":"@aitianyu.cn/idp-oauth-client","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@aitianyu.cn/idp-oauth-client","version":"1.0.0","keywords":["oauth2","oidc","authentication","tianyu","idp"],"license":"MIT","_id":"@aitianyu.cn/idp-oauth-client@1.0.0","maintainers":[{"name":"aitianyu.cn","email":"product@aitianyu.cn"}],"dist":{"shasum":"1cb4934a67eac3afe9d24bee21a737b95d25b4c5","tarball":"https://registry.npmjs.org/@aitianyu.cn/idp-oauth-client/-/idp-oauth-client-1.0.0.tgz","fileCount":6,"integrity":"sha512-IIWAYKNOqadJA4dw2T9yLFQ+INn3LvwnsmvxyLsunvEbHwnm+1j+EGsXD3kgKdVeOkdAaYTqPXDNEPgyGSFOBQ==","signatures":[{"sig":"MEUCIFTDU1pCSReFp4o2neiMy4RvSF8HL6TcIAWXKMqybT1xAiEA3B4FrAK66gadTjo0ZbViIr7A79+BsoxoPomNjXmYY7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24202},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4362c1fa2fab7a09a3222936fc353433463a4063","private":false,"scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","build":"tsup src/index.ts --format cjs,esm --dts --clean","clean":"rm -rf dist","type-check":"tsc --noEmit"},"_npmUser":{"name":"aitianyu.cn","email":"product@aitianyu.cn"},"_npmVersion":"11.5.1","description":"天宇 IdP OAuth 客户端 SDK —— 面向未注册的租户 OAuth 客户端，经 IdP 网关调用产品 API","directories":{},"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/idp-oauth-client_1.0.0_1785647996577_0.7242079843528026","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aitianyu.cn/idp-oauth-client","version":"1.1.0","description":"天宇 IdP OAuth 客户端 SDK —— 面向未注册的租户 OAuth 客户端，经 IdP 网关调用产品 API","license":"MIT","private":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","dev":"tsup src/index.ts --format cjs,esm --dts --watch","type-check":"tsc --noEmit","clean":"rm -rf dist"},"engines":{"node":">=18.0.0"},"keywords":["oauth2","oidc","authentication","tianyu","idp"],"devDependencies":{"@types/node":"^20.0.0","tsup":"^8.0.0","typescript":"^5.4.0"},"_id":"@aitianyu.cn/idp-oauth-client@1.1.0","gitHead":"bf742f771fa1ac79eedd225015276dc1717d802a","_nodeVersion":"24.5.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-TBshrbosPM8qWB1zs0ufdYj6FGjPF5Q3GC3un2p7b1XQ4D6FEs9rpyNo1eM3LuWLKu7XYXaVpMcFsjkIf9Z7tw==","shasum":"c46252b69baef7a1152f7975bb254d4b8d65bbc9","tarball":"https://registry.npmjs.org/@aitianyu.cn/idp-oauth-client/-/idp-oauth-client-1.1.0.tgz","fileCount":6,"unpackedSize":24202,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGP7UjM6bQAQISe3l7OQSCQPtX6HeKd/yE2se7J8FSZxAiA43y7HIiE4HVrtyCA8NK0klZ1fD2Vkc7cd6GQeckoOmQ=="}]},"_npmUser":{"name":"aitianyu.cn","email":"product@aitianyu.cn"},"directories":{},"maintainers":[{"name":"aitianyu.cn","email":"product@aitianyu.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/idp-oauth-client_1.1.0_1785765051645_0.6548821950422137"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-02T05:19:56.441Z","modified":"2026-08-03T13:50:51.932Z","1.0.0":"2026-08-02T05:19:56.731Z","1.1.0":"2026-08-03T13:50:51.768Z"},"license":"MIT","keywords":["oauth2","oidc","authentication","tianyu","idp"],"description":"天宇 IdP OAuth 客户端 SDK —— 面向未注册的租户 OAuth 客户端，经 IdP 网关调用产品 API","maintainers":[{"name":"aitianyu.cn","email":"product@aitianyu.cn"}],"readme":"# @aitianyu.cn/idp-oauth-client\n\n天宇 IdP **OAuth 客户端** SDK —— 面向未注册的租户 OAuth 客户端（`toc_*`），\n经 IdP 网关调用产品 API。\n\n## 与产品 SDK 的区别\n\n| 能力 | `@aitianyu.cn/idp-oauth-client` | `@aitianyu.cn/idp-node-sdk` |\n| ---- | ------------------------------- | ---------------------------- |\n| 适用对象 | 未注册的 OAuth 客户端（`toc_*`） | 已注册的产品（`prd_*`） |\n| 实例注册 / 心跳 | ❌ 不需要 | ✅ `bootstrap()` |\n| 调用产品 | ✅ 经 IdP 网关（IdP 自动选实例） | ✅ 经 IdP 网关（IdP 自动选实例） |\n| 消息签名 / 证书 | ❌ | ✅ |\n| 接收方验签 | ❌ | ✅ `verifyProductToken` |\n\n## 安装\n\n```bash\nnpm install @aitianyu.cn/idp-oauth-client\n```\n\n## 快速开始\n\n```typescript\nimport { IdPOAuthClient } from \"@aitianyu.cn/idp-oauth-client\";\n\nconst idp = new IdPOAuthClient({\n    issuer: \"https://idp.tianyu.com\",\n    clientId: \"client-xxx\",\n    clientSecret: process.env.CLIENT_SECRET,\n});\n\n// 经 IdP 网关调用目标产品接口（IdP 按权重自动选一个在线实例并转发）\nconst res = await idp.callProduct(\"product-b\", \"/api/v1/orders\", {\n    method: \"POST\",\n    body: { sku: \"X\" },\n});\nconst data = await res.json();\n```\n\n调用前需确保该 OAuth 客户端与目标产品已配置 `trust_type` 包含 `api`（或 `both`）的信任关系，\n否则 IdP 网关会返回 `403 trust_required`。\n","readmeFilename":"README.md"}