{"_id":"@1start/auth-kit","_rev":"4-67026fd9abd7f7cc836294530ac9a751","name":"@1start/auth-kit","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@1start/auth-kit","version":"0.1.0","keywords":["auth","login","wechat","douyin","alipay","miniprogram","jwt","bun","hono"],"license":"MIT","_id":"@1start/auth-kit@0.1.0","maintainers":[{"name":"xiatiaoqaq","email":"wangyifan@404.fan"}],"dist":{"shasum":"767c6b82caebb65d17d11f30d914b03bc7b67fdc","tarball":"https://registry.npmjs.org/@1start/auth-kit/-/auth-kit-0.1.0.tgz","fileCount":45,"integrity":"sha512-iijK3nZftJJIQ9pKJlupP+kWFjRUAT/FUp7eR2Cm0c5IfK6i2mgj2+RKp5f3Vy+soHUABB7z+T4ZULCkI2SoYg==","signatures":[{"sig":"MEUCIBaxmEQBM5R381GEnR2L83G8uSWQZGaohvkvLf7ysyJvAiEAkzA7oqhpiRjGx7OW/8bKT/W5Mhq9SKqmomTwHlgUUcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141535},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./providers/sms":{"types":"./dist/providers/sms/index.d.ts","import":"./dist/providers/sms/index.js"},"./store-postgres":{"types":"./dist/store-postgres/index.d.ts","import":"./dist/store-postgres/index.js"},"./providers/apple":{"types":"./dist/providers/apple/index.d.ts","import":"./dist/providers/apple/index.js"},"./providers/email":{"types":"./dist/providers/email/index.d.ts","import":"./dist/providers/email/index.js"},"./providers/password":{"types":"./dist/providers/password/index.d.ts","import":"./dist/providers/password/index.js"},"./providers/alipay-mini":{"types":"./dist/providers/alipay-mini/index.d.ts","import":"./dist/providers/alipay-mini/index.js"},"./providers/douyin-mini":{"types":"./dist/providers/douyin-mini/index.d.ts","import":"./dist/providers/douyin-mini/index.js"},"./providers/wechat-mini":{"types":"./dist/providers/wechat-mini/index.d.ts","import":"./dist/providers/wechat-mini/index.js"}},"gitHead":"42cc209f8cc7b6096d09627a9da67519d952c84f","scripts":{"lint":"biome check .","test":"bun test src","build":"tsc -p tsconfig.build.json","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"xiatiaoqaq","email":"wangyifan@404.fan"},"_npmVersion":"10.9.2","description":"Multi-platform user/auth SDK: pluggable login providers, port-injected storage, dual token strategies","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"hono":"^4.6.14","@types/bun":"^1.1.14","typescript":"^5.6.3","@biomejs/biome":"^1.9.4"},"peerDependencies":{"hono":">=4","jose":">=5","@node-rs/argon2":">=1"},"peerDependenciesMeta":{"hono":{"optional":true},"jose":{"optional":true},"@node-rs/argon2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/auth-kit_0.1.0_1782975876507_0.5042634768405663","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@1start/auth-kit","version":"0.1.1","keywords":["auth","login","wechat","douyin","alipay","miniprogram","jwt","bun","hono"],"license":"MIT","_id":"@1start/auth-kit@0.1.1","maintainers":[{"name":"xiatiaoqaq","email":"wangyifan@404.fan"}],"dist":{"shasum":"efce56d91039c8014ab2b2e481440063cd041749","tarball":"https://registry.npmjs.org/@1start/auth-kit/-/auth-kit-0.1.1.tgz","fileCount":45,"integrity":"sha512-kTqHUAhgAJqDPO3WCFXrMAhv0ZnXMi+/RA4icniyuf7vShrUxKuF3RWryFNmeswd8Nkkq7GcmkySa6DTt0DKDA==","signatures":[{"sig":"MEUCIF2qCR72WTiAfontYjSjbYjCFhAaWOPAQrbJzepU7/1WAiEArd2pSMUfjyoRss7zO7MMGvE3Q2d3Y43SUTyHti5mXtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141879},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./providers/sms":{"types":"./dist/providers/sms/index.d.ts","import":"./dist/providers/sms/index.js"},"./store-postgres":{"types":"./dist/store-postgres/index.d.ts","import":"./dist/store-postgres/index.js"},"./providers/apple":{"types":"./dist/providers/apple/index.d.ts","import":"./dist/providers/apple/index.js"},"./providers/email":{"types":"./dist/providers/email/index.d.ts","import":"./dist/providers/email/index.js"},"./providers/password":{"types":"./dist/providers/password/index.d.ts","import":"./dist/providers/password/index.js"},"./providers/alipay-mini":{"types":"./dist/providers/alipay-mini/index.d.ts","import":"./dist/providers/alipay-mini/index.js"},"./providers/douyin-mini":{"types":"./dist/providers/douyin-mini/index.d.ts","import":"./dist/providers/douyin-mini/index.js"},"./providers/wechat-mini":{"types":"./dist/providers/wechat-mini/index.d.ts","import":"./dist/providers/wechat-mini/index.js"}},"gitHead":"42cc209f8cc7b6096d09627a9da67519d952c84f","scripts":{"lint":"biome check .","test":"bun test src","build":"tsc -p tsconfig.build.json","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"xiatiaoqaq","email":"wangyifan@404.fan"},"_npmVersion":"10.9.2","description":"Multi-platform user/auth SDK: pluggable login providers, port-injected storage, dual token strategies","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"hono":"^4.6.14","@types/bun":"^1.1.14","typescript":"^5.6.3","@biomejs/biome":"^1.9.4"},"peerDependencies":{"hono":">=4","jose":">=5","@node-rs/argon2":">=1"},"peerDependenciesMeta":{"hono":{"optional":true},"jose":{"optional":true},"@node-rs/argon2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/auth-kit_0.1.1_1782976502955_0.34981388803266955","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@1start/auth-kit","version":"0.1.2","keywords":["auth","login","wechat","douyin","alipay","miniprogram","jwt","bun","hono"],"license":"MIT","_id":"@1start/auth-kit@0.1.2","maintainers":[{"name":"xiatiaoqaq","email":"wangyifan@404.fan"}],"dist":{"shasum":"dd5abecdec3448cfa830f4139e896728dd0b8ffe","tarball":"https://registry.npmjs.org/@1start/auth-kit/-/auth-kit-0.1.2.tgz","fileCount":45,"integrity":"sha512-E90KfW1t2vF7WQ0QsmLWA3sZe8Mmjh1i7mdmVQN7BYW6Yam8aU9pL04Ab4u3VsYKLcw/LQ6OMEbbWjSO2Mx8eQ==","signatures":[{"sig":"MEUCIQDxR6HKgBi48lDPixFiIrzuQjNmxCV9WkGsE6Zdd+Jg1wIgOpBqddfOUKPoFa6EncUp8F5EDjyzwD6bAreCPmDsN1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142002},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./providers/sms":{"types":"./dist/providers/sms/index.d.ts","import":"./dist/providers/sms/index.js"},"./store-postgres":{"types":"./dist/store-postgres/index.d.ts","import":"./dist/store-postgres/index.js"},"./providers/apple":{"types":"./dist/providers/apple/index.d.ts","import":"./dist/providers/apple/index.js"},"./providers/email":{"types":"./dist/providers/email/index.d.ts","import":"./dist/providers/email/index.js"},"./providers/password":{"types":"./dist/providers/password/index.d.ts","import":"./dist/providers/password/index.js"},"./providers/alipay-mini":{"types":"./dist/providers/alipay-mini/index.d.ts","import":"./dist/providers/alipay-mini/index.js"},"./providers/douyin-mini":{"types":"./dist/providers/douyin-mini/index.d.ts","import":"./dist/providers/douyin-mini/index.js"},"./providers/wechat-mini":{"types":"./dist/providers/wechat-mini/index.d.ts","import":"./dist/providers/wechat-mini/index.js"}},"gitHead":"42cc209f8cc7b6096d09627a9da67519d952c84f","scripts":{"lint":"biome check .","test":"bun test src","build":"tsc -p tsconfig.build.json","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"xiatiaoqaq","email":"wangyifan@404.fan"},"_npmVersion":"10.9.2","description":"Multi-platform user/auth SDK: pluggable login providers, port-injected storage, dual token strategies","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"hono":"^4.6.14","@types/bun":"^1.1.14","typescript":"^5.6.3","@biomejs/biome":"^1.9.4"},"peerDependencies":{"hono":">=4","jose":">=5","@node-rs/argon2":">=1"},"peerDependenciesMeta":{"hono":{"optional":true},"jose":{"optional":true},"@node-rs/argon2":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/auth-kit_0.1.2_1782976702259_0.6654531952597735","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@1start/auth-kit","version":"0.1.3","description":"Multi-platform user/auth SDK: pluggable login providers, port-injected storage, dual token strategies","type":"module","main":"./dist/core/index.js","types":"./dist/core/index.d.ts","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./providers/wechat-mini":{"types":"./dist/providers/wechat-mini/index.d.ts","import":"./dist/providers/wechat-mini/index.js"},"./providers/douyin-mini":{"types":"./dist/providers/douyin-mini/index.d.ts","import":"./dist/providers/douyin-mini/index.js"},"./providers/alipay-mini":{"types":"./dist/providers/alipay-mini/index.d.ts","import":"./dist/providers/alipay-mini/index.js"},"./providers/apple":{"types":"./dist/providers/apple/index.d.ts","import":"./dist/providers/apple/index.js"},"./providers/sms":{"types":"./dist/providers/sms/index.d.ts","import":"./dist/providers/sms/index.js"},"./providers/email":{"types":"./dist/providers/email/index.d.ts","import":"./dist/providers/email/index.js"},"./providers/password":{"types":"./dist/providers/password/index.d.ts","import":"./dist/providers/password/index.js"},"./store-postgres":{"types":"./dist/store-postgres/index.d.ts","import":"./dist/store-postgres/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test":"bun test src","lint":"biome check .","lint:fix":"biome check --write .","prepublishOnly":"bun run build"},"peerDependencies":{"hono":">=4","jose":">=5","@node-rs/argon2":">=1"},"peerDependenciesMeta":{"hono":{"optional":true},"jose":{"optional":true},"@node-rs/argon2":{"optional":true}},"devDependencies":{"@biomejs/biome":"^1.9.4","@types/bun":"^1.1.14","hono":"^4.6.14","typescript":"^5.6.3"},"license":"MIT","publishConfig":{"access":"public"},"keywords":["auth","login","wechat","douyin","alipay","miniprogram","jwt","bun","hono"],"_id":"@1start/auth-kit@0.1.3","gitHead":"e0f776ffa1baec1f984b367d32214cbd9d00f6b9","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-xtcmLR1gr/LyC/rCQsg8eHNc0vHXjyamw6hdZFfzM0tXTgOpDskmWDRqoLCEo20Nq+8qtele5UQZfOVg0iPEgw==","shasum":"eb9e7db6a9032e9fa876fb5ca446ae1d51df35d2","tarball":"https://registry.npmjs.org/@1start/auth-kit/-/auth-kit-0.1.3.tgz","fileCount":45,"unpackedSize":142198,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDbg8SFhWfSMdvnFi7JhC+3C5hZam4kO9a3unVdWlFstgIgfXJ69dr2kKkNd6cRQeRS+xHbjXJUEAU9R2KYbahguG8="}]},"_npmUser":{"name":"xiatiaoqaq","email":"wangyifan@404.fan"},"directories":{},"maintainers":[{"name":"xiatiaoqaq","email":"wangyifan@404.fan"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/auth-kit_0.1.3_1782977359925_0.4139314065010038"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-02T07:04:36.320Z","modified":"2026-07-02T07:29:20.176Z","0.1.0":"2026-07-02T07:04:36.698Z","0.1.1":"2026-07-02T07:15:03.110Z","0.1.2":"2026-07-02T07:18:22.420Z","0.1.3":"2026-07-02T07:29:20.063Z"},"license":"MIT","keywords":["auth","login","wechat","douyin","alipay","miniprogram","jwt","bun","hono"],"description":"Multi-platform user/auth SDK: pluggable login providers, port-injected storage, dual token strategies","maintainers":[{"name":"xiatiaoqaq","email":"wangyifan@404.fan"}],"readme":"# onestart-auth-kit\n\n1start.net 的多平台用户/认证 SDK。管线不变、provider 可插、存储走端口:一个包、四个模块入口,模块间只靠接口耦合,为下一个项目分钟级接入而设计。\n\n> 当前状态:设计阶段。完整设计见 [docs/DESIGN.md](docs/DESIGN.md),执行计划见 [docs/ROADMAP.md](docs/ROADMAP.md)。\n\n## 包:一个,`@1start/auth-kit`\n\n后端侧只发一个包,subpath exports 暴露四个模块入口(决策依据见 DESIGN.md §2:消费者是同栈项目,四包只剩发版协调成本;子入口 + optional peerDependencies 已给足按需加载与依赖隔离):\n\n| 入口 | 职责 | 状态 |\n|---|---|---|\n| `@1start/auth-kit`(根) | core:登录管线(验证凭证 → 解析身份 → 签发凭证)、四个端口接口、双 token 策略、错误模型、内存测试替身 | 设计中 |\n| `./providers/*` | 各登录方式插件:wechat-mini / douyin-mini / alipay-mini / apple / sms / password / email | 设计中 |\n| `./store-postgres` | `AuthStore` 默认实现:`SqlExecutor` 注入、幂等建表、表前缀可配 | 设计中 |\n| `./hono` | 可选薄层:标准路由 + `authMiddleware` | 设计中 |\n\n模块依赖方向(严格单向,测试断言守护):core ← providers / store-postgres / hono,三者互相不得 import。core 零运行时依赖;`jose` / `@node-rs/argon2` / `hono` 均为 optional peerDependencies,只在 import 对应入口时需要。前端半边 `@1start/auth-client-front`(阶段 6)因运行环境不同(uni-app/小程序)独立发包。\n\n## 设计血统\n\n提炼自两个经线上验证的实现,去其形取其神:\n\n- **m612-pet-api**:`resolveUserByThirdParty` 三步身份解析(openid 直中 → unionid 家族合并 → 新建)、JWT + refresh + token_version 全端登出、`onUserCreated` hook 解耦业务、微信 getPhoneNumber 绑定与账号合并\n- **rensheji-backend**:有状态 opaque token(即时吊销、零 Redis 依赖)、幂等建表风格、多平台 code2session 分发、短信验证码生命周期(scene 隔离 + 频率限制)\n\nDB 解耦沿用 onestart-ai-kit 已验证的模式:`SqlExecutor` / `RedisLike` 结构化接口注入,SDK 零驱动依赖,Bun 与 Node 双兼容。\n\n## 边界(不做)\n\n邀请码、能量/钱包、onboarding、昵称生成规则、admin RBAC、OAuth2 授权服务器、SSO 与多租户管理。业务扩展一律走 hook 与业务侧扩展表。\n","readmeFilename":"README.md"}