
📚 文档 - 🚀 开始 - 💻 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 参考
生成的文件
- 充分参考 - 完成API参考指南
关键类
- 我的组织地址 - 管理组织细节、域名、身份提供者和配置
框架实例
综合实例,说明如何在不同框架中使用MyOrganization SDK:
服务器侧
- 快捷类型脚本 - 具有域和身份提供者工作流程的核心组织管理REST API
- 节点.js 类型脚本 - CLI工具和自动化脚本
- 节点.js JavaScript - 香草JavaScript脚本和自动化任务
QQ 客户端
- 反应 SPA - 用 Auth0 反应 SDK 集成和自定义钩子
- 香草爪哇脚本 SPA - 纯JavaScript SPA 与Auth0 SPA JS 整合
每个例子包括:
- * 完成设置指令
- 环境配置模板
- 生产准备模式
- 综合错误处理
- 演示所有 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 状态代码时, 请求被视为可重试 :
- 408 (简体中文) (超时)
- 429个 (太多请求)
- 第5XX条 (内部服务器出错)
使用 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是一个易于执行,可适应的认证和授权平台. 学习更多退房 为什么是Auth0?
版权2026 Okta, Inc. 本项目根据以下规定获得许可证: Apache 许可证 2.0见 自由主义 详细文件.