@authup/specs

中文文档
1.0.0-beta.73发布于 2026/11/02Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 4431

OAuth 2.0,OpenID Connect,JWT和JWK的常数,类型和出错类,因为Authup使用它们.

中文使用文档
文档目录9 节
  1. 合适的话
  2. 安装
  3. 使用量
  4. 托肯有效载荷和赠款
  5. 范围
  6. 错误
  7. API 密码
  8. 页:1
  9. 许可证

Authup logo

@ authup/ 规格

OAuth 2.0,OpenID Connect,JWT和JWK的常数,类型和出错类,因为Authup使用它们.
Authup 登录共享的两侧的授予名称、令牌有效载荷形状、错误代码和范围帮助器.

npm version CI License: Apache-2.0

安装 • 妇女 使用量 • 妇女 API 密码 • 妇女 文档


合适的话

@authup/specs 是一个基础包 : @authup/core-kit, (中文(简体) ), @authup/core-http-kit,服务器和服务器适配器都从中取出协议词汇. 您在读取 Authup 令牌或协议错误时直接安装它, 例如输入解码访问令牌为 OAuth2TokenPayload 或将错误与 OAuth2ErrorCode.INVALID_GRANT它不是一个通用的OAuth2库:它包含Authup的发文和答案,包括Authup自己的主张,例如: realm_name 财务报告和审定财务报表 sub_kind。 。 。 .

安装

npm install @authup/specs

仅限无害环境管理。 节点.js >=26.0.0,或浏览器捆绑器。 不存在同伴依赖关系.

使用量

托肯有效载荷和赠款

import type { OAuth2TokenGrantResponse, OAuth2TokenPayload } from '@authup/specs';
import { OAuth2SubKind, OAuth2TokenGrant, OAuth2TokenKind } from '@authup/specs';

function isUserAccessToken(payload: OAuth2TokenPayload) : boolean {
    return payload.kind === OAuth2TokenKind.ACCESS &&
        payload.sub_kind === OAuth2SubKind.USER;
}

OAuth2TokenGrant.DEVICE_CODE; // 'urn:ietf:params:oauth:grant-type:device_code'

OAuth2TokenPayload 这是JWT的索赔,加上Authup的索赔: kind, (中文(简体) ), sub_kind, (中文(简体) ), realm_id, (中文(简体) ), realm_name, (中文(简体) ), client_id, (中文(简体) ), scope, (中文(简体) ), session_id 编号 : sid, (中文(简体) ), amr, (中文(简体) ), acr, (中文(简体) ), cnf, (中文(简体) ), realm_access 财务报告和审定财务报表 global_access。 。 。 . OAuth2TokenGrantResponse 这是 /token 答话.

范围

import { hasOAuth2Scopes, mergeOAuth2Scopes } from '@authup/specs';

hasOAuth2Scopes('openid Email', ['email']); // true
mergeOAuth2Scopes('openid email', ['email', 'roles']); // 'openid email roles'
  • hasOAuth2Scopes(granted, required) 小写两边,接受空格或逗号分隔字符串或数组,然后返回 false 当什么也没有得到.
  • deserializeOAuth2Scope 财务报告和审定财务报表 unwrapOAuth2Scope 拆分和小写; splitOAuth2Scope 财务报告和审定财务报表 mergeOAuth2Scopes 分开和去除 但保持这个案子.

错误

错误类扩展 AuthupError 从 @authup/errors 并携带 OAuth2 错误代码 data.error数字 :

import { OAuth2ErrorCode, OAuth2GrantError, isJWTError, isOAuth2Error } from '@authup/specs';

const error = OAuth2GrantError.invalid('refresh token is unknown');
error.data?.error === OAuth2ErrorCode.INVALID_GRANT; // true

function describe(e: unknown) : string {
    if (isJWTError(e)) return 'token rejected';
    if (isOAuth2Error(e)) return e.message;
    return 'unknown';
}

这个 is* 警卫们既符合JSON的例,也符合JSON的补水错误,因为他们读取了序列标记链而不是原型. isJWTErrorCode 财务报告和审定财务报表 isJWKErrorCode 测试一个赤色 code 绳子.

API 密码

导出仁爱目的
OAuth2TokenGrant, (中文(简体) ), OAuth2TokenKind, (中文(简体) ), OAuth2SubKind语句赠款类型、象征性类型(access_token, (中文(简体) ), refresh_token, (中文(简体) ), id_token, (中文(简体) ), mfa_token),主题类型
OAuth2AuthorizationResponseType, (中文(简体) ), OAuth2AuthorizationCodeChallengeMethod, (中文(简体) ), OAuth2AuthorizationPrompt, (中文(简体) ), OAuth2UIColorMode语句/authorize 参数
OAuth2AuthenticationMethodReference, (中文(简体) ), OAuth2AuthenticationContextClass语句amr (单位:千美元)pwd, (中文(简体) ), otp, (中文(简体) ), ext和 acr (单位:千美元)urn:authup:pwd, (中文(简体) ), urn:authup:mfa数值
OAuth2ErrorCode语句RFC 6749, OIDC 和 RFC 8628 错误代码
OAuth2TokenGrantResponse, (中文(简体) ), OAuth2TokenPayload, (中文(简体) ), OAuth2TokenIntrospectionResponse, (中文(简体) ), OAuth2TokenPermission, (中文(简体) ), OAuth2JsonWebKey类型隐藏端点答案和符号内容
OAuth2Error 财务报告和审定财务报表 OAuth2RequestError, (中文(简体) ), OAuth2ClientError, (中文(简体) ), OAuth2ClientUnauthorizedError, (中文(简体) ), OAuth2GrantError, (中文(简体) ), OAuth2GrantTypeError, (中文(简体) ), OAuth2ScopeError, (中文(简体) ), OAuth2ResponseTypeError, (中文(简体) ), OAuth2AccessDeniedError, (中文(简体) ), OAuth2LoginRequiredError, (中文(简体) ), OAuth2MfaRequiredError, (中文(简体) ), OAuth2DeviceAuthorizationError, (中文(简体) ), OAuth2ServerError类静态工厂的礼宾出错OAuth2GrantError.invalid(), (中文(简体) ), OAuth2DeviceAuthorizationError.slowDown(), (...) (中文(简体) )
isOAuth2Error 还有一个 isOAuth2*Error 每类警卫(无 OAuth2LoginRequiredError(中文(简体) )函数错误守护
serializeOAuth2Scope, (中文(简体) ), deserializeOAuth2Scope, (中文(简体) ), unwrapOAuth2Scope, (中文(简体) ), splitOAuth2Scope, (中文(简体) ), mergeOAuth2Scopes, (中文(简体) ), hasOAuth2Scopes函数范围字符串处理
JWTAlgorithm语句HS*, (中文(简体) ), RS*, (中文(简体) ), ES*, (中文(简体) ), PS* (256、384、512) (中文(简体) )
JWTHeader, (中文(简体) ), JWTClaims接口JWT标题和已登记索赔
JWTError, (中文(简体) ), isJWTError, (中文(简体) ), isJWTErrorCode类, 函数脚本出错( T)expired_token, (中文(简体) ), inactive_token, (中文(简体) ), invalid_token(中文(简体) )
getJWTClaimByPattern函数以路径模式读取索赔, 可选择匹配值或正则x
JWKType, (中文(简体) ), JWKUse语句关键类型oct, (中文(简体) ), rsa, (中文(简体) ), ec)和使用(sig, (中文(简体) ), enc(中文(简体) )
JWKError, (中文(简体) ), isJWKError, (中文(简体) ), isJWKErrorCode类, 函数密钥错误
OpenIDProviderMetadata, (中文(简体) ), OpenIDTokenPayload, (中文(简体) ), OpenIDClaims类型发现文件、id token有效载荷和OIDC核心标准索赔
isOpenIDProviderMetadata函数保护发现文件

页:1

  • JWKType 是 Authup 的密钥类型,而不是 JWK kty。 。 。 . 其值为小写(rsa, (中文(简体) ), ec, (中文(简体) ), oct; RFC 7517 咒语 kty 作为 RSA 财务报告和审定财务报表 EC。 。 。 .
  • 缺失的 OpenID 请求是省略的密钥 . OpenIDClaims 将每一项债权作为可选的,永远不要 null,而Authup 留下了权利要求,而不是发送 null。 。 。 .

许可证

由 所制

现按 Apache 2.0 许可证。 。 。 .

版本与发布记录

@authup/specs 共发布 48 个版本,首次发布于 2025/01/21;过去 12 个月发布了 44 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.0-beta.73latest2026/11/025 天前
1.0.0-beta.722026/10/2711 天前
1.0.0-beta.712026/10/2018 天前
1.0.0-beta.702026/10/1919 天前
1.0.0-beta.692026/10/1424 天前
1.0.0-beta.682026/09/251 个月前

关于 @authup/specs 的常见问题

@authup/specs 是什么?

OAuth 2.0,OpenID Connect,JWT和JWK的常数,类型和出错类,因为Authup使用它们.

如何安装 @authup/specs?

在项目目录运行 npm install @authup/specs,或使用 pnpm add / yarn add / bun add。

@authup/specs 支持 TypeScript 吗?

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

@authup/specs 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@authup/specs 需要什么版本的 Node.js?

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

@authup/specs 可以商用吗?

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

@authup/specs 的下载量有多少?

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

@authup/specs 还在维护吗?

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