@aooth/login-client

中文文档
0.2.6发布于 2026/11/07MITTypeScriptESM + CJS零依赖近 30 天下载 2022

用于 aoothjs 授权服务器的零依赖性 CLI/loopback 登录帮助器(浏览器回转 + PKCE, 返回一个符号)

中文使用文档
文档目录4 节
  1. 安装
  2. 使用
  3. 无头/ SSH
  4. 选项

@aooth/login-客户端

通过用户登录的零依赖性助手 浏览器 手举起 返回本地进程符号—— gh auth login 模式,用于任何 阿欧斯 授权服务器.

它运行授权码 + PKCE 流对一发 循环 重新定向 (http://127.0.0.1:<ephemeral-port>/callback因此,没有什么是永远 拷贝。 建于节点内置(node:http, (中文(简体) ), node:crypto, (中文(简体) ), node:child_process)和全球 fetch 仅 -- 无运行时间依赖关系。 。 。 .

安装

npm i @aooth/login-client   # Node >= 18

使用

import { authorize } from "@aooth/login-client";

const { accessToken, expiresIn, userId } = await authorize({
  authorizeUrl: "https://main.example.com/auth/authorize",
  tokenUrl: "https://main.example.com/auth/token",
  // clientId,                 // omit for a public/loopback client (PKCE is the binding)
  // scope: ["api"],
  // statusUrl: "https://main.example.com/auth/status",  // optional: confirm the token works
});

// send it: Authorization: Bearer <accessToken>

它所做的: 打开一发子弹 127.0.0.1 听器,生成 state +PKCE, + 电子计算机, 打开浏览器到 authorizeUrl等待单一的召回, 核实 state (CSRF检查),然后 POST tokenUrl { code, code_verifier } 财务报告和审定财务报表 返回符号。 没错 没有 加密验证符号——即 服务器的不透明证书; TLS + PKCE + state 是约束.

无头/ SSH

await authorize({
  authorizeUrl,
  tokenUrl,
  openBrowser: false,
  onUrl: (url) => console.log(`Open this URL to sign in:\n${url}`),
});

用户打开 URL 后, 回回收听器仍可抓取回调 在同一个机器上.

选项

选项默认页:1
authorizeUrl—— 说服务器的 GET /auth/authorize
tokenUrl—— 说服务器的 POST /auth/token
clientId—— 说省略一个公共/浏览客户端
scope—— 说string[]空间
openBrowsertrue设定 false + 键 onUrl 无头
onUrl—— 说总是用授权 URL 调用( 打印后退行)
statusUrl—— 说可选择的无记名确认 GET; 采用 userId
timeoutMs300000等待浏览器调用
signal—— 说AbortSignal 取消(例如在SIGINT上)

失败投出 AuthorizeError 带有 .code (单位:千美元)provider_denied • 妇女 state_mismatch • 妇女 exchange_failed • 妇女 timeout • 妇女 status_check_failed) (中文(简体) ).

版本与发布记录

@aooth/login-client 共发布 85 个版本,首次发布于 2026/06/06;过去 12 个月发布了 85 个版本。

版本发布日期距今
0.2.6latest2026/11/07今天
0.2.52026/11/061 天前
0.2.42026/11/043 天前
0.2.32026/11/043 天前
0.2.22026/11/034 天前
0.2.12026/11/034 天前

关于 @aooth/login-client 的常见问题

@aooth/login-client 是什么?

用于 aoothjs 授权服务器的零依赖性 CLI/loopback 登录帮助器(浏览器回转 + PKCE, 返回一个符号)

如何安装 @aooth/login-client?

在项目目录运行 npm install @aooth/login-client,或使用 pnpm add / yarn add / bun add。

@aooth/login-client 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aooth/login-client 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@aooth/login-client 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aooth/login-client 可以商用吗?

@aooth/login-client 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aooth/login-client 的下载量有多少?

根据 npm 官方下载统计,@aooth/login-client 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,022 次,日均约 67 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aooth/login-client 还在维护吗?

最新版本 0.2.6 发布于 2026/11/07(今天);至今共发布 85 个版本,其中过去 12 个月发布了 85 个;首次发布于 2026/06/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。