@antelopejs/auth-jwt

中文文档
1.1.0发布于 2026/11/05Apache-2.0TypeScriptCommonJS构建来源已验证近 30 天下载 4398

羚羊JS的JWT认证模块,与 jsonwebtoken 执行 Auth 接口

中文使用文档
文档目录8 节
  1. 接口
  2. 安装
  3. 配置
  4. 快开始
  5. 文档
  6. 兼容性
  7. 捐款
  8. 许可证

@antelopejs/auth-jwt

npm License Discord Documentation

羚羊JS认证模块. 执行 @antelopejs/interface-auth 并用JSON Web Tokens来标记和验证其标志 jsonwebtoken。 。 。 .

部分 羚羊JS用于 羚羊JS 隐形物,用于您的 PostgreSQL 、 MongoDB 或 RethinkDB 数据库的开源后台.

接口

接口文档
@antelopejs/interface-auth认证

界面页面记录 @Authentication 装饰器、自定义认证器、信使源和饼干 模块还取决于 @antelopejs/interface-api,哪个 @antelopejs/api 执行.

安装

ajs project modules add @antelopejs/auth-jwt
ajs project modules install

ajs project modules install 添加 @antelopejs/api 当项目中还没有模块执行 API 接口时.

配置

用一个共享的秘密签名 :

import { defineConfig } from "@antelopejs/interface-core/config";

export default defineConfig({
  name: "my-project",
  modules: {
    "auth-jwt": {
      source: {
        type: "package",
        package: "@antelopejs/auth-jwt",
        version: "^2.0.0",
      },
      config: {
        secret: "change-me",
        signOptions: { expiresIn: "1h" },
        verifyOptions: { ignoreExpiration: false },
      },
    },
  },
  envOverrides: {
    JWT_SECRET: "modules.auth-jwt.config.secret",
  },
});

当 JWT_SECRET 环境变量被设定, envOverrides 将其值写入 secret。 。 。 .

要用密钥对来签名, 请给出两个密钥文件的路径 。 模块构造时会读取两个文件.

config: {
  signKey: "./keys/private.pem",
  verifyKey: "./keys/public.pem",
  signOptions: { algorithm: "RS256", expiresIn: "1h" },
  verifyOptions: { algorithms: ["RS256"] },
},
密钥说明
secret共同的秘密, 标志和验证的标志。 胜过 signKey 财务报告和审定财务报表 verifyKey。 。 。 .
signKey私钥文件的路径 。 模块使用它与 verifyKey 何时 secret 未设置.
verifyKey公钥文件的路径 .
signOptions默认 jsonwebtoken 签名选项编辑 expiresIn 财务报告和审定财务报表 notBefore 那个 SignRaw 或者说 SignServerResponse 接收它们.
verifyOptions默认 jsonwebtoken 校验选项选项 ValidateRaw 超过他们.

模块拒绝启动 secret 或两者兼有 signKey 财务报告和审定财务报表 verifyKey投掷 Invalid JWT config。 。 。 . ajs project modules add 写入 secret: "your-secret-key"在部署前替换它.

快开始

在服务路线的模块中,添加两个接口.

pnpm add @antelopejs/interface-api @antelopejs/interface-auth

以饼干的形式发出一个令牌,然后在受保护的路线上读回.

import {
  Context,
  Controller,
  Get,
  Post,
  type RequestContext,
} from "@antelopejs/interface-api";
import { Authentication, SignServerResponse } from "@antelopejs/interface-auth";

interface Session {
  userId: string;
}

export class SessionController extends Controller("/session") {
  @Post("/login")
  async login(@Context() context: RequestContext) {
    await SignServerResponse(
      context.rawResponse,
      { userId: "42" },
      { expiresIn: "1h" },
      { httpOnly: true, path: "/" },
    );
    return { ok: true };
  }

  @Get("/me")
  me(@Authentication() session: Session) {
    return session;
  }
}

GET /session/me 从 x-antelopejs-auth 标题,或来自 ANTELOPEJS_AUTH 当信头缺席时做曲奇. 它会回答的 401 当它不见了。 它会回答的 403 当符号无效或过期,或者其有效载荷既不是字符串,也不是JSON对象,如数组或数字.

文档

  • 认证 文档 @antelopejs/interface-auth 与本模块执行的合同.
  • 配置 文档模块来源, config 区块和配置变量 antelope.config.ts。 。 。 .

兼容性

软件包支助测试过
@antelopejs/interface-api>=0.2.0 <1.0.00.2.0
@antelopejs/interface-auth>=0.2.0 <0.3.00.2.0
@antelopejs/interface-core>=0.4.0 <1.0.00.4.0

生成的表格列出接口软件包,并将此模块负载范围从 package.json。 。 。 .

捐款

pnpm install
pnpm dev            # run the playground/ project in watch mode
pnpm lint
pnpm format:check
pnpm knip
pnpm test           # build, then ajs module test

读取 捐款准则 在打开拉出请求之前.

许可证

阿帕奇 - 2.0

版本与发布记录

@antelopejs/auth-jwt 共发布 12 个版本,首次发布于 2025/05/09;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.1.0latest2026/11/051 天前
2.0.02026/11/051 天前
1.0.42026/10/1719 天前
1.0.32026/08/302 个月前
1.0.22026/08/212 个月前
1.0.12026/06/164 个月前

关于 @antelopejs/auth-jwt 的常见问题

@antelopejs/auth-jwt 是什么?

羚羊JS的JWT认证模块,与 jsonwebtoken 执行 Auth 接口

如何安装 @antelopejs/auth-jwt?

在项目目录运行 npm install @antelopejs/auth-jwt,或使用 pnpm add / yarn add / bun add。

@antelopejs/auth-jwt 支持 TypeScript 吗?

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

@antelopejs/auth-jwt 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@antelopejs/auth-jwt 可以商用吗?

@antelopejs/auth-jwt 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@antelopejs/auth-jwt 的下载量有多少?

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

@antelopejs/auth-jwt 还在维护吗?

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