Logo
Section 1 / 4

创建客户端并获取所有客户端

学习如何使用 Auth0 API 创建客户端并获取所有客户端。

导入

创建客户端并获取所有客户端

学习如何使用 Auth0 API 创建客户端并获取所有客户端。

...
创建客户端并获取所有客户端的端点

在 Auth0 中创建客户端是为应用程序建立安全认证和授权的关键步骤。在 Auth0 中,客户端代表一个使用 Auth0 进行认证和授权的应用程序或服务。要创建客户端,必须提供一个具有 `create:clients` 权限范围的访问令牌。该访问令牌允许我们创建和配置客户端,从而让我们的应用程序或服务能够通过 Auth0 安全地进行用户认证和授权。此端点要求访问令牌具备 `create:clients` 权限范围。

...

参数名称类型分类描述
name字符串必填定义应用程序的名称。该字符串长度至少为一个字符。不允许使用 < 或 > 符号
description字符串可选定义客户端的描述,最大长度为 140 个字符。
callbacks字符串可选接收一个有效的 URL 列表,用于用户登录后重定向。多个 URL 之间用逗号分隔。
grant_types字符串可选定义此客户端支持的授权类型列表,以逗号分隔。可选值包括:authorization_code、implicit、refresh_token、client_credentials 和 password。
app_type字符串可选定义应用程序类型。Auth0 主要支持四种类型:spa、native、non_interactive 和 regular_web。
allowed_logout_urls字符串可选定义用户登出后重定向的有效 URL 列表,以逗号分隔。
refresh_token.rotation_type字符串必填定义刷新令牌的轮换类型(旋转或非旋转)。refresh_token 对象为可选,但如果定义,则 rotation_type 为必填。
refresh_token.expiration_type字符串必填定义刷新令牌的过期类型。其值可以是 expiring(会过期)或 non-expiring(永不过期)。如果定义了 refresh_token 对象,则此项为必填。
refresh_token.token_lifetime整数可选定义刷新令牌的有效时间(单位:秒)。
1// 导入所需库 2const fetch = require('node-fetch'); 3 4const endpointUrl = new URL('https://{{DOMAIN}}/api/v2/clients'); 5 6const headerParameters = { 7 'Content-Type': 'application/json', 8 'Authorization': 'Bearer {{ACCESS_TOKEN}}', 9}; 10 11const bodyParameters = JSON.stringify({ 12 "name": "示例客户端", 13 "description": "通过 API 调用创建的示例客户端", 14 "callbacks": [ 15 "https://example.com/callback" 16 ], 17 "grant_types": [ 18 "client_credentials" 19 ], 20 "app_type": "non_interactive", 21}); 22 23const options = { 24 method: 'POST', 25 headers: headerParameters, 26 body: bodyParameters, 27}; 28 29async function createClient() { 30 try { 31 const response = await fetch(endpointUrl, options); 32 printResponse(response); 33 } catch (error) { 34 printError(error); 35 } 36} 37 38createClient();

字段名描述
tenant返回该客户端所属租户的名称。
client_id定义客户端的唯一标识符。
client_secret定义客户端的密钥。必须严格保密,不得公开。建议不在请求体中指定 client_secret,由 API 自动生成安全密钥。
refresh_token定义与刷新令牌相关的属性。部分字段已在请求参数表中展示。

参数名称类型分类描述
fields字符串可选指定希望包含或排除的响应字段,以逗号分隔。
include_fields布尔值可选控制 fields 参数中指定字段的包含或排除。若为 true,则包含这些字段;否则排除。
page整数可选指定返回结果的页码索引,第一页索引为 0。
per_page整数可选指定每页显示的项目数量,默认值为 50,最大值为 100。
include_totals布尔值可选若为 true,则在响应中返回总记录数。默认值为 false。
is_global布尔值可选根据 global 字段应用筛选条件。
is_first_party布尔值可选根据客户端是否为第一方(即由与 Auth0 账户同组织运营)进行过滤。
app_type字符串可选根据指定的应用程序类型对客户端进行筛选。
1// 导入所需库 2const fetch = require('node-fetch'); 3 4const endpointUrl = new URL('https://{{DOMAIN}}/api/v2/clients'); 5 6const headerParameters = { 7 'Content-Type': 'application/json', 8 'Authorization': 'Bearer {{ACCESS_TOKEN}}', 9}; 10 11// 定义查询参数 12const queryParameters = new URLSearchParams({ 13 include_totals: true, 14 is_global: false, 15}); 16 17const options = { 18 method: 'GET', 19 headers: headerParameters, 20}; 21 22async function getAllClients() { 23 try { 24 endpointUrl.search = queryParameters; 25 const response = await fetch(endpointUrl, options); 26 printResponse(response); 27 } catch (error) { 28 printError(error); 29 } 30} 31 32getAllClients();

响应字段描述
total显示客户端的总数。
start显示响应的起始页码索引。
limit显示每页最多可显示的项目数量。
clients包含所有客户端及其相关信息的数组。数组中的字段说明见前文。

简介

获取、更新和删除客户端