@auth0/myorganization-js

中文文档
2.1.0发布于 2026/09/17Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 4317

Auth0 SDK 为 JavaScript/ TypeScript 管理组织,成员,角色和身份提供者

中文使用文档
文档目录29 节
  1. 文档
  2. 开始
  3. 所需资源
  4. 安装
  5. 配置 SDK
  6. 服务器端认证
  7. 请求和答复类型
  8. API 参考
  9. 生成的文件
  10. 关键类
  11. 框架实例
  12. 服务器侧
  13. QQ 客户端
  14. 关键模式
  15. 例外处理
  16. 高级
  17. 其他信头
  18. 额外的查询字符串参数
  19. 检索
  20. 超时
  21. 中止请求
  22. 日志
  23. 获取原始响应数据
  24. 运行时间兼容性
  25. 反馈
  26. 捐款
  27. 提出问题
  28. 脆弱性报告
  29. 什么是奥特?

Auth0 MyOrganization SDK for JavaScript/TypeScript

Release License fern shield

📚 文档 - 🚀 开始 - 💻 API 参考 - 说吧 实例 - 💬 反馈

文档

  • Docs 站点 - 探索我们的文件网站 了解更多关于Auth0
  • API 参考 - 本图书馆的全部参考资料
  • 框架实例 - Express、Node.js、React和香草JavaScript的生产准备实例

开始

所需资源

此库支持以下工具版本:

  • 节点.js:20或以上

安装

使用 无 在工程目录中运行以下命令:

npm install @auth0/myorganization-js

[注] 释道. 端点经过了三个成熟级:一般可用,早期取用,和Beta. 此套件在两个频道上发布. 稳定通道( :npm install @auth0/myorganization-js)包括一般可用和早期访问终点。 β频道( B)npm install @auth0/myorganization-js@beta)是一个包含所有三个层次的超集.

从v2.1.0开始,成员管理(成员、邀请、角色、成员、用户商店)可在SDK上找到 client.organization见 移徙指南 详细情况.

配置 SDK

MyOrganization客户端允许您管理Auth0组织,包括组织的细节,域名,身份提供者,以及配置.

用域名和符号供应商初始化您的客户端 :

import { MyOrganizationClient } from "@auth0/myorganization-js";

const client = new MyOrganizationClient({
    domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    token: "YOUR_ACCESS_TOKEN", // or use a token supplier function
});

使用代理供应商

对于动态令牌检索(建议制作):

import { MyOrganizationClient } from "@auth0/myorganization-js";

const client = new MyOrganizationClient({
    domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    token: async ({ scope }) => {
        // Fetch token with required scopes
        return await getAccessToken({
            scope: `openid profile email ${scope}`,
        });
    },
});

使用自定义获取器

对于高级认证方案:

import { MyOrganizationClient } from "@auth0/myorganization-js";

const client = new MyOrganizationClient({
    domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    fetcher: async (url, init, authParams) => {
        const token = await getAccessToken({ scope: authParams?.scope });
        return fetch(url, {
            ...init,
            headers: {
                ...init?.headers,
                Authorization: `Bearer ${token}`,
            },
        });
    },
});

服务器端认证

对于服务器侧应用程序,可以使用客户端证书流并带有自动处理令牌管理的助手功能:

使用客户端证书并保密

import { createMyOrganizationClientWithClientCredentials } from "@auth0/myorganization-js/server";

const client = createMyOrganizationClientWithClientCredentials(
    {
        domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    },
    {
        clientId: "YOUR_CLIENT_ID",
        clientSecret: "YOUR_CLIENT_SECRET",
        organization: "org_123456789",
    },
);

使用私人密钥 JWT 客户端证书

为了利用JWT私人钥匙加强安全:

import { createMyOrganizationClientWithClientCredentials } from "@auth0/myorganization-js/server";

const client = createMyOrganizationClientWithClientCredentials(
    {
        domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    },
    {
        clientId: "YOUR_CLIENT_ID",
        privateKey: "YOUR_PRIVATE_KEY",
        organization: "org_123456789",
    },
);

手动令牌提供者设置

对于更多的控制,您可以手动配置符号提供者 :

import { MyOrganizationClient, ClientCredentialsTokenProvider } from "@auth0/myorganization-js/server";

const tokenProvider = new ClientCredentialsTokenProvider({
    domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    clientId: "YOUR_CLIENT_ID",
    clientSecret: "YOUR_CLIENT_SECRET",
    organization: "org_123456789",
    audience: "https://api.example.com", // optional custom audience
});

const client = new MyOrganizationClient({
    domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    tokenProvider,
});

安全警告:服务器侧认证方法只应在客户端秘密和私钥安全存储的安全服务器环境中使用. 永远不要在浏览器或SPA应用程序中披露这些证书.

请求和答复类型

SDK导出所有请求和响应类型为TypeScript接口. 您可以直接导入 :

import { MyOrganizationClient, MyOrganization } from "@auth0/myorganization-js";

const client = new MyOrganizationClient({
    domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    token: "YOUR_ACCESS_TOKEN",
});

// Use the request type
const request: MyOrganization.CreateOrganizationDomainRequestContent = {
    domain: "acme.com",
};

await client.organization.domains.create(request);

API 参考

生成的文件

关键类

  • 我的组织地址 - 管理组织细节、域名、身份提供者和配置

框架实例

综合实例,说明如何在不同框架中使用MyOrganization SDK:

服务器侧

QQ 客户端

每个例子包括:

  • * 完成设置指令
  • 环境配置模板
  • 生产准备模式
  • 综合错误处理
  • 演示所有 SDK 特性

快速开始 :

cd examples/[example-name]
npm install
cp .env.example .env
# Configure .env with your Auth0 credentials
npm run dev

关键模式

服务器端( Express, Node.js) :

import { createMyOrganizationClientWithClientCredentials } from "@auth0/myorganization-js/server";

const client = createMyOrganizationClientWithClientCredentials(
    { domain: "tenant.auth0.com" },
    {
        clientId: "YOUR_CLIENT_ID",
        clientSecret: "YOUR_CLIENT_SECRET",
        organization: "org_123456789",
    },
);

客户端( React, SPA) 自动瞄准镜注射:

import { MyOrganizationClient } from "@auth0/myorganization-js";

const client = new MyOrganizationClient({
    domain: "tenant.auth0.com",
    // SDK automatically passes required scopes for each API call
    token: async ({ scope }) => {
        return await auth0.getTokenSilently({
            authorizationParams: {
                scope: `openid profile email ${scope}`,
                organization: "org_123456789",
            },
        });
    },
});

查看所有实例 {}

例外处理

当 API 返回一个非成功状态代码( 4xx 或 5xx 响应) 时, 将会抛出以下错误的子类 :

import { MyOrganizationClient, MyOrganizationError } from "@auth0/myorganization-js";

const client = new MyOrganizationClient({
    domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    token: "YOUR_ACCESS_TOKEN",
});

try {
    await client.organization.domains.create({
        domain: "acme.com",
    });
} catch (err) {
    if (err instanceof MyOrganizationError) {
        console.log(err.statusCode);
        console.log(err.message);
        console.log(err.body);
        console.log(err.rawResponse);
    }
}

高级

其他信头

如果您希望作为请求的一部分发送额外的信头,请使用 headers 请求选项 :

const response = await client.organization.domains.create(
    {
        domain: "acme.com",
    },
    {
        headers: {
            "X-Custom-Header": "custom value",
        },
    },
);

额外的查询字符串参数

如果您希望作为请求的一部分发送额外的查询字符串参数,请使用 queryParams 请求选项 :

const response = await client.organization.domains.create(
    {
        domain: "acme.com",
    },
    {
        queryParams: {
            customQueryParamKey: "custom query param value",
        },
    },
);

检索

SDK是用有指数回放的自动回放装置. 只要请求被认为可以重试,且重试尝试的数量没有超过所配置的重试限制(默认:2),请求就会被重试.

当返回以下任一 HTTP 状态代码时, 请求被视为可重试 :

使用 maxRetries 请求配置此行为的选项 :

const response = await client.organization.domains.create(
    {
        domain: "acme.com",
    },
    {
        maxRetries: 0, // override maxRetries at the request level
    },
);

超时

SDK默认为60第二次超时. 使用 timeoutInSeconds 选项来配置此行为 :

const response = await client.organization.domains.create(
    {
        domain: "acme.com",
    },
    {
        timeoutInSeconds: 30, // override timeout to 30s
    },
);

中止请求

SDK允许用户在任何时间通过一个中止信号来中止请求:

const controller = new AbortController();
const response = await client.organization.domains.create(
    {
        domain: "acme.com",
    },
    {
        abortSignal: controller.signal,
    },
);
controller.abort(); // aborts the request

日志

SDK包括可以帮助调试的内置记录. 默认情况下,伐木是沉默的. 你可以通过一个 logging 创建客户端时的配置 :

const client = new MyOrganizationClient({
    domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    token: "YOUR_ACCESS_TOKEN",
    logging: {
        level: "debug",
        silent: false,
    },
});

当启用时 debug ,SDK日志 HTTP 请求和响应细节,包括方法,URL,状态代码和信头. 敏感信息(授权头,API密钥,查询参数中的令牌)自动被编辑.

日志级别

按动词顺序排列的现有日志级别为:

  • debug - HTTP请求/答复细节
  • info - 一般行动资料
  • warn - 警告信息
  • error - HTTP 请求和错误失败

自定义日志

你可以提供符合下列条件的自己记录器: ILogger 接口 :

const client = new MyOrganizationClient({
    domain: "{YOUR_TENANT_AND_REGION}.auth0.com",
    token: "YOUR_ACCESS_TOKEN",
    logging: {
        level: "debug",
        silent: false,
        logger: {
            debug: (message, ...args) => myLogger.debug(message, ...args),
            info: (message, ...args) => myLogger.info(message, ...args),
            warn: (message, ...args) => myLogger.warn(message, ...args),
            error: (message, ...args) => myLogger.error(message, ...args),
        },
    },
});

获取原始响应数据

SDK通过下列方式提供原始响应数据,包括信头: .withRawResponse() 方法。 这个 .withRawResponse() 方法返回给一个带有 data (单位:千美元) rawResponse 属性 :

const { data, rawResponse } = await client.organization.domains
    .create({
        domain: "acme.com",
    })
    .withRawResponse();

console.log(data);
console.log(rawResponse.headers["X-My-Header"]);

运行时间兼容性

SDK工作时间如下:

  • 20或以上节点
  • 维塞尔
  • 云花岗工人
  • 德诺v1.25+
  • 1.0+号舱
  • 原生反应

反馈

捐款

我们赞赏反馈和对这次再投资的贡献! 在开始前,请参看以下内容:

虽然我们重视对SDK的开源贡献,但这个库是程序生成的. 直接添加到这个库的代码必须移到我们的代号上,否则它们会在下一个生成的版本被覆盖. 随便打开公关作为概念的证明 但知道我们无法将公关合并 我们建议先讨论一个问题!

另一方面,对 " README " 的贡献总是非常受欢迎的!

提出问题

请提供反馈或报告错误 提出我们的问题追踪器。 。 。 .

脆弱性报告

请不要在公共 GitHub 问题跟踪器上报告安全漏洞 。 这个 负责任的披露程序 详细说明披露安全问题的程序.

什么是奥特?

Auth0 Logo

Auth0是一个易于执行,可适应的认证和授权平台. 学习更多退房 为什么是Auth0?

版权2026 Okta, Inc. 本项目根据以下规定获得许可证: Apache 许可证 2.0见 自由主义 详细文件.

版本与发布记录

@auth0/myorganization-js 共发布 14 个版本,首次发布于 2025/11/07;过去 12 个月发布了 13 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.1.0latest2026/09/171 个月前
2.0.02026/08/262 个月前
2.0.0-beta.0beta2026/08/262 个月前
1.1.12026/08/262 个月前
1.1.02026/06/174 个月前
1.0.12026/05/155 个月前

关于 @auth0/myorganization-js 的常见问题

@auth0/myorganization-js 是什么?

Auth0 SDK 为 JavaScript/ TypeScript 管理组织,成员,角色和身份提供者

如何安装 @auth0/myorganization-js?

在项目目录运行 npm install @auth0/myorganization-js,或使用 pnpm add / yarn add / bun add。

@auth0/myorganization-js 支持 TypeScript 吗?

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

@auth0/myorganization-js 支持 ESM 还是 CommonJS?

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

@auth0/myorganization-js 需要什么版本的 Node.js?

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

@auth0/myorganization-js 可以商用吗?

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

@auth0/myorganization-js 的下载量有多少?

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

@auth0/myorganization-js 还在维护吗?

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