From 0e9704750a829d4dbb01f4c7c02623c4d35f72e8 Mon Sep 17 00:00:00 2001 From: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> Date: Wed, 23 Oct 2024 10:53:31 +0530 Subject: [PATCH 1/8] ss-sso files added --- src/context/directory/handlers/index.ts | 2 + .../directory/handlers/selfServiceProfiles.ts | 52 ++++++ src/context/yaml/handlers/index.ts | 2 + .../yaml/handlers/selfServiceProfiles.ts | 42 +++++ src/tools/auth0/handlers/index.ts | 2 + .../auth0/handlers/selfServiceProfiles.ts | 149 ++++++++++++++++++ src/tools/constants.ts | 1 + src/types.ts | 7 +- 8 files changed, 255 insertions(+), 2 deletions(-) create mode 100644 src/context/directory/handlers/selfServiceProfiles.ts create mode 100644 src/context/yaml/handlers/selfServiceProfiles.ts create mode 100644 src/tools/auth0/handlers/selfServiceProfiles.ts diff --git a/src/context/directory/handlers/index.ts b/src/context/directory/handlers/index.ts index 8976d91c..8175f3f6 100644 --- a/src/context/directory/handlers/index.ts +++ b/src/context/directory/handlers/index.ts @@ -29,6 +29,7 @@ import rulesConfigs from './rulesConfigs'; import DirectoryContext from '..'; import { AssetTypes, Asset } from '../../../types'; +import selfServiceProfiles from './selfServiceProfiles'; export type DirectoryHandler = { dump: (context: DirectoryContext) => void; @@ -66,6 +67,7 @@ const directoryHandlers: { prompts, customDomains, themes, + selfServiceProfiles, }; export default directoryHandlers; diff --git a/src/context/directory/handlers/selfServiceProfiles.ts b/src/context/directory/handlers/selfServiceProfiles.ts new file mode 100644 index 00000000..3f63bc49 --- /dev/null +++ b/src/context/directory/handlers/selfServiceProfiles.ts @@ -0,0 +1,52 @@ +import path from 'path'; +import fs from 'fs-extra'; +import { constants } from '../../../tools'; +import log from '../../../logger'; + +import { existsMustBeDir, isFile, dumpJSON, loadJSON, sanitize } from '../../../utils'; +import { emailProviderDefaults } from '../../defaults'; +import { DirectoryHandler } from '.'; +import DirectoryContext from '..'; +import { Asset, ParsedAsset } from '../../../types'; +import { SelfServiceProfile } from '../../../tools/auth0/handlers/selfServiceProfiles'; + +type ParsedSelfServiceProfiles = ParsedAsset<'selfServiceProfiles', SelfServiceProfile[]>; + +function parse(context: DirectoryContext): ParsedSelfServiceProfiles { + const { selfServiceProfiles } = context.assets; + + if (!selfServiceProfiles) return { selfServiceProfiles: null }; + + return { + selfServiceProfiles, + }; +} + +async function dump(context: DirectoryContext): Promise { + const { selfServiceProfiles } = context.assets; + if (!selfServiceProfiles) return; + + const selfServiceProfilesFolder = path.join( + context.filePath, + constants.SELF_SERVICE_PROFILE_DIRECTORY + ); + fs.ensureDirSync(selfServiceProfilesFolder); + + selfServiceProfiles.forEach((profile) => { + const ssProfileFile = path.join(selfServiceProfilesFolder, sanitize(`${profile.name}.json`)); + log.info(`Writing ${ssProfileFile}`); + + delete profile.created_at; + delete profile.updated_at; + delete profile.allowed_strategies; + + dumpJSON(ssProfileFile, profile); + }); +} + +const emailProviderHandler: DirectoryHandler = { + parse, + dump, +}; + +export default emailProviderHandler; diff --git a/src/context/yaml/handlers/index.ts b/src/context/yaml/handlers/index.ts index 62a3e2a7..dbcfe08d 100644 --- a/src/context/yaml/handlers/index.ts +++ b/src/context/yaml/handlers/index.ts @@ -26,6 +26,7 @@ import themes from './themes'; import rules from './rules'; import rulesConfigs from './rulesConfigs'; import hooks from './hooks'; +import selfServiceProfiles from './selfServiceProfiles'; import YAMLContext from '..'; import { AssetTypes } from '../../../types'; @@ -64,6 +65,7 @@ const yamlHandlers: { [key in AssetTypes]: YAMLHandler<{ [key: string]: unknown prompts, customDomains, themes, + selfServiceProfiles, }; export default yamlHandlers; diff --git a/src/context/yaml/handlers/selfServiceProfiles.ts b/src/context/yaml/handlers/selfServiceProfiles.ts new file mode 100644 index 00000000..75c357fa --- /dev/null +++ b/src/context/yaml/handlers/selfServiceProfiles.ts @@ -0,0 +1,42 @@ +import { SsProfile } from 'auth0'; +import { YAMLHandler } from '.'; +import YAMLContext from '..'; +import { Asset, ParsedAsset } from '../../../types'; +import { SelfServiceProfile } from '../../../tools/auth0/handlers/selfServiceProfiles'; + +type ParsedSelfServiceProfiles = ParsedAsset<'selfServiceProfiles', SelfServiceProfile[]>; + +async function parse(context: YAMLContext): Promise { + const { selfServiceProfiles } = context.assets; + + if (!selfServiceProfiles) return { selfServiceProfiles: null }; + + return { + selfServiceProfiles, + }; +} + +async function dump(context: YAMLContext): Promise { + let { selfServiceProfiles } = context.assets; + if (!selfServiceProfiles) return { selfServiceProfiles: null }; + + selfServiceProfiles = selfServiceProfiles.map((profile) => { + delete profile.created_at; + delete profile.updated_at; + delete profile.allowed_strategies; + return { + ...profile, + }; + }); + + return { + selfServiceProfiles, + }; +} + +const selfServiceProfileHandler: YAMLHandler = { + parse, + dump, +}; + +export default selfServiceProfileHandler; diff --git a/src/tools/auth0/handlers/index.ts b/src/tools/auth0/handlers/index.ts index 3f4791ac..4fbded60 100644 --- a/src/tools/auth0/handlers/index.ts +++ b/src/tools/auth0/handlers/index.ts @@ -26,6 +26,7 @@ import * as attackProtection from './attackProtection'; import * as logStreams from './logStreams'; import * as customDomains from './customDomains'; import * as themes from './themes'; +import * as selfServiceProfiles from './selfServiceProfiles'; import { AssetTypes } from '../../../types'; import APIHandler from './default'; @@ -60,6 +61,7 @@ const auth0ApiHandlers: { [key in AssetTypes]: any } = { logStreams, customDomains, themes, + selfServiceProfiles, }; export default auth0ApiHandlers as { diff --git a/src/tools/auth0/handlers/selfServiceProfiles.ts b/src/tools/auth0/handlers/selfServiceProfiles.ts new file mode 100644 index 00000000..5233ce2d --- /dev/null +++ b/src/tools/auth0/handlers/selfServiceProfiles.ts @@ -0,0 +1,149 @@ +import { SsProfile } from 'auth0'; +import { Assets } from '../../../types'; +import log from '../../../logger'; +import DefaultAPIHandler from './default'; +import { calculateChanges } from '../../calculateChanges'; + +// TODO: replace with a more accurate representation SsProfile from 'auth0' +export type SelfServiceProfile = { + id: string; + name: string; + description?: string; + user_attributes?: { + name: string; + description: string; + is_optional: boolean; + }[]; + branding?: { + logo_url: string; + colors: { + primary: string; + }; + }; + allowed_strategies?: string[]; + created_at?: string; + updated_at?: string; +}; +export const schema = { + type: 'array', + items: { + type: 'object', + properties: { + id: { + type: 'string', + }, + name: { + type: 'string', + }, + description: { + type: 'string', + }, + user_attributes: { + type: 'array', + items: { + type: 'object', + properties: { + name: { + type: 'string', + }, + description: { + type: 'boolean', + }, + is_optional: { + type: 'boolean', + }, + }, + }, + }, + branding: { + type: 'object', + properties: { + logo_url: { + type: 'string', + }, + colors: { + type: 'object', + properties: { + primary: { + type: 'string', + }, + }, + required: ['primary'], + }, + }, + }, + }, + required: ['name'], + }, +}; + +export default class SelfServiceProfileHandler extends DefaultAPIHandler { + existing: SsProfile[]; + + constructor(config: DefaultAPIHandler) { + super({ + ...config, + type: 'selfServiceProfiles', + id: 'id', + }); + } + + async processChanges(assets: Assets): Promise { + const { selfServiceProfiles } = assets; + + // Do nothing if not set + if (!selfServiceProfiles) return; + + const existing = await this.getType(); + + const changes = calculateChanges({ + handler: this, + assets: selfServiceProfiles, + existing, + identifiers: this.identifiers, + allowDelete: !!this.config('AUTH0_ALLOW_DELETE'), + }); + + log.debug( + `Start processChanges for organizations [delete:${changes.del.length}] [update:${changes.update.length}], [create:${changes.create.length}]` + ); + + const myChanges = [ + { del: changes.del }, + { create: changes.create }, + { update: changes.update }, + ]; + + console.log('CLOG: myChanges', myChanges); + + /* + await Promise.all( + myChanges.map(async (change) => { + switch (true) { + case change.del && change.del.length > 0: + await this.client.selfServiceProfiles.deleteSelfServiceProfiles(change.del || []); + break; + case change.create && change.create.length > 0: + await this.client.selfServiceProfiles.postSelfServiceProfiles(changes.create); + break; + case change.update && change.update.length > 0: + if (change.update) await this.client.selfServiceProfiles.patchSelfServiceProfiles(change.update, existing); + break; + default: + break; + } + }) + ); + */ + } + + async getType() { + if (this.existing) return this.existing; + + const { data: selfServiceProfiles } = + await this.client.selfServiceProfiles.getSelfServiceProfiles(); + + this.existing = selfServiceProfiles; + return this.existing; + } +} diff --git a/src/tools/constants.ts b/src/tools/constants.ts index 0093b124..7aad53d6 100644 --- a/src/tools/constants.ts +++ b/src/tools/constants.ts @@ -174,6 +174,7 @@ const constants = { PARTIALS_DIRECTORY: 'partials', CUSTOM_DOMAINS_DIRECTORY: 'custom-domains', THEMES_DIRECTORY: 'themes', + SELF_SERVICE_PROFILE_DIRECTORY: 'self-service-profiles', }; export default constants; diff --git a/src/types.ts b/src/types.ts index 942d0cfc..ffa7e109 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,4 +1,4 @@ -import { GetConnectionsStrategyEnum, ManagementClient, ResourceServer } from 'auth0'; +import { GetConnectionsStrategyEnum, ManagementClient, ResourceServer, SsProfile } from 'auth0'; import { PromisePoolExecutor } from 'promise-pool-executor'; import { Action } from './tools/auth0/handlers/actions'; import { Prompts } from './tools/auth0/handlers/prompts'; @@ -8,6 +8,7 @@ import { LogStream } from './tools/auth0/handlers/logStreams'; import { Client } from './tools/auth0/handlers/clients'; import { ClientGrant } from './tools/auth0/handlers/clientGrants'; import { Theme } from './tools/auth0/handlers/themes'; +import { SelfServiceProfile } from './tools/auth0/handlers/selfServiceProfiles'; type SharedPaginationParams = { checkpoint?: boolean; @@ -120,6 +121,7 @@ export type Assets = Partial<{ }; clientsOrig: Asset[] | null; themes: Theme[] | null; + selfServiceProfiles: SelfServiceProfile[]; }>; export type CalculatedChanges = { @@ -157,7 +159,8 @@ export type AssetTypes = | 'logStreams' | 'prompts' | 'customDomains' - | 'themes'; + | 'themes' + | 'selfServiceProfiles'; export type KeywordMappings = { [key: string]: (string | number)[] | string | number }; From cd944e8f597487d0896798c677218e144679b327 Mon Sep 17 00:00:00 2001 From: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> Date: Wed, 23 Oct 2024 11:39:09 +0530 Subject: [PATCH 2/8] ss-sso files updated --- .../directory/handlers/selfServiceProfiles.ts | 6 ++---- .../yaml/handlers/selfServiceProfiles.ts | 5 ++--- .../auth0/handlers/selfServiceProfiles.ts | 20 ------------------- src/types.ts | 3 +-- 4 files changed, 5 insertions(+), 29 deletions(-) diff --git a/src/context/directory/handlers/selfServiceProfiles.ts b/src/context/directory/handlers/selfServiceProfiles.ts index 3f63bc49..66e45fec 100644 --- a/src/context/directory/handlers/selfServiceProfiles.ts +++ b/src/context/directory/handlers/selfServiceProfiles.ts @@ -1,16 +1,15 @@ import path from 'path'; import fs from 'fs-extra'; +import { SsProfile } from 'auth0'; import { constants } from '../../../tools'; import log from '../../../logger'; import { existsMustBeDir, isFile, dumpJSON, loadJSON, sanitize } from '../../../utils'; -import { emailProviderDefaults } from '../../defaults'; import { DirectoryHandler } from '.'; import DirectoryContext from '..'; import { Asset, ParsedAsset } from '../../../types'; -import { SelfServiceProfile } from '../../../tools/auth0/handlers/selfServiceProfiles'; -type ParsedSelfServiceProfiles = ParsedAsset<'selfServiceProfiles', SelfServiceProfile[]>; +type ParsedSelfServiceProfiles = ParsedAsset<'selfServiceProfiles', Partial[]>; function parse(context: DirectoryContext): ParsedSelfServiceProfiles { const { selfServiceProfiles } = context.assets; @@ -38,7 +37,6 @@ async function dump(context: DirectoryContext): Promise { delete profile.created_at; delete profile.updated_at; - delete profile.allowed_strategies; dumpJSON(ssProfileFile, profile); }); diff --git a/src/context/yaml/handlers/selfServiceProfiles.ts b/src/context/yaml/handlers/selfServiceProfiles.ts index 75c357fa..6c11612e 100644 --- a/src/context/yaml/handlers/selfServiceProfiles.ts +++ b/src/context/yaml/handlers/selfServiceProfiles.ts @@ -2,9 +2,8 @@ import { SsProfile } from 'auth0'; import { YAMLHandler } from '.'; import YAMLContext from '..'; import { Asset, ParsedAsset } from '../../../types'; -import { SelfServiceProfile } from '../../../tools/auth0/handlers/selfServiceProfiles'; -type ParsedSelfServiceProfiles = ParsedAsset<'selfServiceProfiles', SelfServiceProfile[]>; +type ParsedSelfServiceProfiles = ParsedAsset<'selfServiceProfiles', Partial[]>; async function parse(context: YAMLContext): Promise { const { selfServiceProfiles } = context.assets; @@ -23,7 +22,7 @@ async function dump(context: YAMLContext): Promise { selfServiceProfiles = selfServiceProfiles.map((profile) => { delete profile.created_at; delete profile.updated_at; - delete profile.allowed_strategies; + return { ...profile, }; diff --git a/src/tools/auth0/handlers/selfServiceProfiles.ts b/src/tools/auth0/handlers/selfServiceProfiles.ts index 5233ce2d..99dd54c3 100644 --- a/src/tools/auth0/handlers/selfServiceProfiles.ts +++ b/src/tools/auth0/handlers/selfServiceProfiles.ts @@ -4,26 +4,6 @@ import log from '../../../logger'; import DefaultAPIHandler from './default'; import { calculateChanges } from '../../calculateChanges'; -// TODO: replace with a more accurate representation SsProfile from 'auth0' -export type SelfServiceProfile = { - id: string; - name: string; - description?: string; - user_attributes?: { - name: string; - description: string; - is_optional: boolean; - }[]; - branding?: { - logo_url: string; - colors: { - primary: string; - }; - }; - allowed_strategies?: string[]; - created_at?: string; - updated_at?: string; -}; export const schema = { type: 'array', items: { diff --git a/src/types.ts b/src/types.ts index ffa7e109..868197ca 100644 --- a/src/types.ts +++ b/src/types.ts @@ -8,7 +8,6 @@ import { LogStream } from './tools/auth0/handlers/logStreams'; import { Client } from './tools/auth0/handlers/clients'; import { ClientGrant } from './tools/auth0/handlers/clientGrants'; import { Theme } from './tools/auth0/handlers/themes'; -import { SelfServiceProfile } from './tools/auth0/handlers/selfServiceProfiles'; type SharedPaginationParams = { checkpoint?: boolean; @@ -121,7 +120,7 @@ export type Assets = Partial<{ }; clientsOrig: Asset[] | null; themes: Theme[] | null; - selfServiceProfiles: SelfServiceProfile[]; + selfServiceProfiles: SsProfile[]; }>; export type CalculatedChanges = { From 04238b8b8be21c656b4fe876c46018e4ee3d4d96 Mon Sep 17 00:00:00 2001 From: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> Date: Sat, 23 Nov 2024 21:56:37 +0530 Subject: [PATCH 3/8] support dum,deploy for self-service-sso --- src/context/directory/handlers/index.ts | 2 +- .../directory/handlers/selfServiceProfiles.ts | 37 +++- .../yaml/handlers/selfServiceProfiles.ts | 30 ++- .../auth0/handlers/selfServiceProfiles.ts | 199 ++++++++++++++++-- src/types.ts | 3 +- 5 files changed, 234 insertions(+), 37 deletions(-) diff --git a/src/context/directory/handlers/index.ts b/src/context/directory/handlers/index.ts index af460d3c..1c2b9acb 100644 --- a/src/context/directory/handlers/index.ts +++ b/src/context/directory/handlers/index.ts @@ -73,7 +73,7 @@ const directoryHandlers: { forms, flows, flowVaultConnections, - selfServiceProfiles + selfServiceProfiles, }; export default directoryHandlers; diff --git a/src/context/directory/handlers/selfServiceProfiles.ts b/src/context/directory/handlers/selfServiceProfiles.ts index da475c5a..d95d67f4 100644 --- a/src/context/directory/handlers/selfServiceProfiles.ts +++ b/src/context/directory/handlers/selfServiceProfiles.ts @@ -1,20 +1,37 @@ import path from 'path'; import fs from 'fs-extra'; -import { SsProfile } from 'auth0'; import { constants } from '../../../tools'; import log from '../../../logger'; -import { existsMustBeDir, isFile, dumpJSON, loadJSON, sanitize } from '../../../utils'; +import { dumpJSON, existsMustBeDir, getFiles, loadJSON, sanitize } from '../../../utils'; import { DirectoryHandler } from '.'; import DirectoryContext from '..'; -import { Asset, ParsedAsset } from '../../../types'; +import { ParsedAsset } from '../../../types'; +import { SsProfileWithCustomText } from '../../../tools/auth0/handlers/selfServiceProfiles'; -type ParsedSelfServiceProfiles = ParsedAsset<'selfServiceProfiles', Partial[]>; +type ParsedSelfServiceProfiles = ParsedAsset< + 'selfServiceProfiles', + Partial[] +>; function parse(context: DirectoryContext): ParsedSelfServiceProfiles { - const { selfServiceProfiles } = context.assets; + const selfServiceProfilesFolder = path.join( + context.filePath, + constants.SELF_SERVICE_PROFILE_DIRECTORY + ); + if (!existsMustBeDir(selfServiceProfilesFolder)) return { selfServiceProfiles: null }; // Skip - if (!selfServiceProfiles) return { selfServiceProfiles: null }; + const files = getFiles(selfServiceProfilesFolder, ['.json']); + + const selfServiceProfiles = files.map((f) => { + const ssProfiles = { + ...loadJSON(f, { + mappings: context.mappings, + disableKeywordReplacement: context.disableKeywordReplacement, + }), + }; + return ssProfiles; + }); return { selfServiceProfiles, @@ -35,6 +52,14 @@ async function dump(context: DirectoryContext): Promise { const ssProfileFile = path.join(selfServiceProfilesFolder, sanitize(`${profile.name}.json`)); log.info(`Writing ${ssProfileFile}`); + if ('created_at' in profile) { + delete profile.created_at; + } + + if ('updated_at' in profile) { + delete profile.updated_at; + } + dumpJSON(ssProfileFile, profile); }); } diff --git a/src/context/yaml/handlers/selfServiceProfiles.ts b/src/context/yaml/handlers/selfServiceProfiles.ts index de439fb1..d3a878d8 100644 --- a/src/context/yaml/handlers/selfServiceProfiles.ts +++ b/src/context/yaml/handlers/selfServiceProfiles.ts @@ -1,9 +1,12 @@ -import { SsProfile } from 'auth0'; import { YAMLHandler } from '.'; import YAMLContext from '..'; -import { Asset, ParsedAsset } from '../../../types'; +import { ParsedAsset } from '../../../types'; +import { SsProfileWithCustomText } from '../../../tools/auth0/handlers/selfServiceProfiles'; -type ParsedSelfServiceProfiles = ParsedAsset<'selfServiceProfiles', Partial[]>; +type ParsedSelfServiceProfiles = ParsedAsset< + 'selfServiceProfiles', + Partial[] +>; async function parse(context: YAMLContext): Promise { const { selfServiceProfiles } = context.assets; @@ -16,17 +19,22 @@ async function parse(context: YAMLContext): Promise { } async function dump(context: YAMLContext): Promise { - const { selfServiceProfiles } = context.assets; + let { selfServiceProfiles } = context.assets; if (!selfServiceProfiles) return { selfServiceProfiles: null }; - // selfServiceProfiles = selfServiceProfiles.map((profile) => { - // delete profile.created_at; - // delete profile.updated_at; + selfServiceProfiles = selfServiceProfiles.map((profile) => { + if ('created_at' in profile) { + delete profile.created_at; + } + + if ('updated_at' in profile) { + delete profile.updated_at; + } - // return { - // ...profile, - // }; - // }); + return { + ...profile, + }; + }); return { selfServiceProfiles, diff --git a/src/tools/auth0/handlers/selfServiceProfiles.ts b/src/tools/auth0/handlers/selfServiceProfiles.ts index 2b45891e..e6282215 100644 --- a/src/tools/auth0/handlers/selfServiceProfiles.ts +++ b/src/tools/auth0/handlers/selfServiceProfiles.ts @@ -1,8 +1,24 @@ -import { SsProfile } from 'auth0'; -import { Assets } from '../../../types'; +import { + GetSelfServiceProfileCustomTextLanguageEnum, + GetSelfServiceProfileCustomTextPageEnum, + SsProfile, +} from 'auth0'; +import { isEmpty } from 'lodash'; +import { Asset, Assets, CalculatedChanges } from '../../../types'; import log from '../../../logger'; import DefaultAPIHandler from './default'; import { calculateChanges } from '../../calculateChanges'; +import { paginate } from '../client'; + +type customTextType = { + [GetSelfServiceProfileCustomTextLanguageEnum.en]: { + [GetSelfServiceProfileCustomTextPageEnum.get_started]: Object; + }; +}; + +export type SsProfileWithCustomText = Omit & { + customText?: customTextType; +}; export const schema = { type: 'array', @@ -27,7 +43,7 @@ export const schema = { type: 'string', }, description: { - type: 'boolean', + type: 'string', }, is_optional: { type: 'boolean', @@ -52,28 +68,84 @@ export const schema = { }, }, }, + customText: { + type: 'object', + properties: { + [GetSelfServiceProfileCustomTextLanguageEnum.en]: { + type: 'object', + properties: { + [GetSelfServiceProfileCustomTextPageEnum.get_started]: { + type: 'object', + }, + }, + }, + }, + }, }, required: ['name'], }, }; export default class SelfServiceProfileHandler extends DefaultAPIHandler { - existing: SsProfile[]; + existing: SsProfileWithCustomText[]; constructor(config: DefaultAPIHandler) { super({ ...config, type: 'selfServiceProfiles', id: 'id', + stripCreateFields: ['created_at', 'updated_at'], + stripUpdateFields: ['created_at', 'updated_at'], }); } + async getType() { + if (this.existing) return this.existing; + + const selfServiceProfiles = await paginate(this.client.selfServiceProfiles.getAll, { + paginate: true, + include_totals: true, + is_global: false, + }); + + const selfServiceProfileWithCustomText: SsProfileWithCustomText[] = await Promise.all( + selfServiceProfiles.map(async (sp) => { + /** + * Fetches the custom text for the "get_started" in "en" page of a self-service profile. + */ + const { data: getStartedText } = await this.client.selfServiceProfiles.getCustomText({ + id: sp.id, + language: GetSelfServiceProfileCustomTextLanguageEnum.en, + page: GetSelfServiceProfileCustomTextPageEnum.get_started, + }); + + if (!isEmpty(getStartedText)) { + const customText = { + [GetSelfServiceProfileCustomTextLanguageEnum.en]: { + [GetSelfServiceProfileCustomTextPageEnum.get_started]: getStartedText, + }, + }; + return { + ...sp, + customText, + }; + } + + return sp; + }) + ); + + this.existing = selfServiceProfileWithCustomText; + return this.existing; + } + async processChanges(assets: Assets): Promise { const { selfServiceProfiles } = assets; // Do nothing if not set if (!selfServiceProfiles) return; + // Gets SsProfileWithCustomText from destination tenant const existing = await this.getType(); const changes = calculateChanges({ @@ -85,7 +157,7 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { }); log.debug( - `Start processChanges for organizations [delete:${changes.del.length}] [update:${changes.update.length}], [create:${changes.create.length}]` + `Start processChanges for selfServiceProfiles [delete:${changes.del.length}] [update:${changes.update.length}], [create:${changes.create.length}]` ); const myChanges = [ @@ -94,36 +166,127 @@ export default class SelfServiceProfileHandler extends DefaultAPIHandler { { update: changes.update }, ]; - console.log('CLOG: myChanges', myChanges); - - /* await Promise.all( myChanges.map(async (change) => { switch (true) { case change.del && change.del.length > 0: - await this.client.selfServiceProfiles.deleteSelfServiceProfiles(change.del || []); + await this.deleteSelfServiceProfiles(change.del || []); break; case change.create && change.create.length > 0: - await this.client.selfServiceProfiles.postSelfServiceProfiles(changes.create); + await this.createSelfServiceProfiles(changes.create); break; case change.update && change.update.length > 0: - if (change.update) await this.client.selfServiceProfiles.patchSelfServiceProfiles(change.update, existing); + if (change.update) await this.updateSelfServiceProfiles(change.update); break; default: break; } }) ); - */ } - async getType() { - if (this.existing) return this.existing; + async updateCustomText(ssProfileId: string, customText: customTextType): Promise { + try { + await this.client.selfServiceProfiles.updateCustomText( + { + id: ssProfileId, + language: GetSelfServiceProfileCustomTextLanguageEnum.en, + page: GetSelfServiceProfileCustomTextPageEnum.get_started, + }, + { + ...customText[GetSelfServiceProfileCustomTextLanguageEnum.en][ + GetSelfServiceProfileCustomTextPageEnum.get_started + ], + } + ); + log.debug(`Updated custom text for ${this.type} ${ssProfileId}`); + } catch (err) { + log.error(`Problem updating custom text for ${this.type} ${ssProfileId}\n${err}`); + throw new Error(`Problem updating custom text for ${this.type} ${ssProfileId}\n${err}`); + } + } - const { data: selfServiceProfiles } = - await this.client.selfServiceProfiles.getAll(); + async createSelfServiceProfiles(creates: CalculatedChanges['create']) { + await this.client.pool + .addEachTask({ + data: creates || [], + generator: (item: SsProfileWithCustomText) => + this.createSelfServiceProfile(item) + .then((data) => { + this.didCreate(data); + this.created += 1; + }) + .catch((err) => { + throw new Error(`Problem creating ${this.type} ${this.objString(item)}\n${err}`); + }), + }) + .promise(); + } - this.existing = selfServiceProfiles; - return this.existing; + async createSelfServiceProfile(profile: SsProfileWithCustomText): Promise { + const { customText, ...ssProfile } = profile; + const { data: created } = await this.client.selfServiceProfiles.create(ssProfile as SsProfile); + + if (!isEmpty(customText)) { + await this.updateCustomText(created.id, customText); + } + + return created; + } + + async updateSelfServiceProfiles(updates: CalculatedChanges['update']) { + await this.client.pool + .addEachTask({ + data: updates || [], + generator: (item: SsProfileWithCustomText) => + this.updateSelfServiceProfile(item) + .then((data) => { + this.didUpdate(data); + this.updated += 1; + }) + .catch((err) => { + throw new Error(`Problem updating ${this.type} ${this.objString(item)}\n${err}`); + }), + }) + .promise(); + } + + async updateSelfServiceProfile(profile: SsProfileWithCustomText): Promise { + const { customText, id, ...ssProfile } = profile; + const { data: updated } = await this.client.selfServiceProfiles.update({ id }, ssProfile); + + if (!isEmpty(customText)) { + await this.updateCustomText(updated.id, customText); + } + return updated; + } + + async deleteSelfServiceProfiles(deletes: CalculatedChanges['del']): Promise { + if ( + this.config('AUTH0_ALLOW_DELETE') === 'true' || + this.config('AUTH0_ALLOW_DELETE') === true + ) { + await this.client.pool + .addEachTask({ + data: deletes || [], + generator: (item: SsProfileWithCustomText) => + this.deleteSelfServiceProfile(item) + .then(() => { + this.didDelete(item); + this.deleted += 1; + }) + .catch((err) => { + throw new Error(`Problem deleting ${this.type} ${this.objString(item)}\n${err}`); + }), + }) + .promise(); + } else { + log.warn(`Detected the following selfServiceProfile should be deleted. Doing so may be destructive.\nYou can enable deletes by setting 'AUTH0_ALLOW_DELETE' to true in the config + \n${deletes.map((i) => this.objString(i)).join('\n')}`); + } + } + + async deleteSelfServiceProfile(profile: SsProfileWithCustomText): Promise { + await this.client.selfServiceProfiles.delete({ id: profile.id }); } } diff --git a/src/types.ts b/src/types.ts index f146fe73..7c966eec 100644 --- a/src/types.ts +++ b/src/types.ts @@ -11,6 +11,7 @@ import { Theme } from './tools/auth0/handlers/themes'; import { Form } from './tools/auth0/handlers/forms'; import { Flow } from './tools/auth0/handlers/flows'; import { FlowVaultConnection } from './tools/auth0/handlers/flowVaultConnections'; +import { SsProfileWithCustomText } from './tools/auth0/handlers/selfServiceProfiles'; type SharedPaginationParams = { checkpoint?: boolean; @@ -126,7 +127,7 @@ export type Assets = Partial<{ forms: Form[] | null; flows: Flow[] | null; flowVaultConnections: FlowVaultConnection[] | null; - selfServiceProfiles: SsProfile[] | null; + selfServiceProfiles: SsProfileWithCustomText[] | null; }>; export type CalculatedChanges = { From d36833c49d30cd0502e40d8b17ae6804dfac9bc0 Mon Sep 17 00:00:00 2001 From: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> Date: Mon, 25 Nov 2024 18:01:27 +0530 Subject: [PATCH 4/8] npm ts version update --- package-lock.json | 476 ++++++++++------------------------------------ package.json | 2 +- 2 files changed, 98 insertions(+), 380 deletions(-) diff --git a/package-lock.json b/package-lock.json index dbdf799c..f4966fe1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,7 +51,7 @@ "sinon": "^13.0.2", "sinon-chai": "^3.7.0", "ts-mocha": "^10.0.0", - "typescript": "^5.6.3", + "typescript": "^5.7.2", "zlib": "^1.0.5" }, "engines": { @@ -1805,6 +1805,21 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/data-view-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", @@ -2438,20 +2453,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/eslint/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", @@ -2474,48 +2475,12 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/eslint/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", @@ -2635,56 +2600,6 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2828,56 +2743,6 @@ "node": ">=8.0.0" } }, - "node_modules/foreground-child/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/foreground-child/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/fromentries": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", @@ -3801,56 +3666,6 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", @@ -5690,6 +5505,29 @@ "node": ">= 0.4" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/side-channel": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", @@ -5812,21 +5650,6 @@ "node": ">=8" } }, - "node_modules/spawn-wrap/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", @@ -6326,10 +6149,11 @@ } }, "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", + "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6442,6 +6266,22 @@ "webidl-conversions": "^3.0.0" } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/which-boxed-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", @@ -8082,6 +7922,17 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.24.1.tgz", "integrity": "sha512-0QTBSYSUZ6Gq21utGzkfITDylE8jWC9Ne1D2MrhvlsZBI1x39OdDIVbzSqtgMndIy6BlHxBXpMGqzZmnztg2rg==" }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "data-view-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", @@ -8423,17 +8274,6 @@ "sprintf-js": "~1.0.2" } }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, "eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", @@ -8450,35 +8290,11 @@ "esprima": "^4.0.0" } }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } } } }, @@ -8714,43 +8530,6 @@ "onetime": "^5.1.0", "signal-exit": "^3.0.2", "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } } }, "fast-deep-equal": { @@ -8869,43 +8648,6 @@ "requires": { "cross-spawn": "^7.0.0", "signal-exit": "^3.0.2" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } } }, "fromentries": { @@ -9523,43 +9265,6 @@ "p-map": "^3.0.0", "rimraf": "^3.0.0", "uuid": "^8.3.2" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } } }, "istanbul-lib-report": { @@ -10904,6 +10609,21 @@ "has-property-descriptors": "^1.0.2" } }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, "side-channel": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", @@ -10996,17 +10716,6 @@ "rimraf": "^3.0.0", "signal-exit": "^3.0.2", "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } } }, "sprintf-js": { @@ -11377,9 +11086,9 @@ } }, "typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", + "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", "dev": true }, "unbox-primitive": { @@ -11460,6 +11169,15 @@ "webidl-conversions": "^3.0.0" } }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, "which-boxed-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", diff --git a/package.json b/package.json index 85fe01de..f4a8a64e 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "sinon": "^13.0.2", "sinon-chai": "^3.7.0", "ts-mocha": "^10.0.0", - "typescript": "^5.6.3", + "typescript": "^5.7.2", "zlib": "^1.0.5" }, "engines": { From 2cbf59ee3811fc7e41e1f1f3c593805d81ce1325 Mon Sep 17 00:00:00 2001 From: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> Date: Tue, 26 Nov 2024 12:48:37 +0530 Subject: [PATCH 5/8] unit test added --- .../handlers/selfServiceProfiles.tests.js | 401 ++++++++++++++++++ 1 file changed, 401 insertions(+) create mode 100644 test/tools/auth0/handlers/selfServiceProfiles.tests.js diff --git a/test/tools/auth0/handlers/selfServiceProfiles.tests.js b/test/tools/auth0/handlers/selfServiceProfiles.tests.js new file mode 100644 index 00000000..631cb760 --- /dev/null +++ b/test/tools/auth0/handlers/selfServiceProfiles.tests.js @@ -0,0 +1,401 @@ +import { PromisePoolExecutor } from 'promise-pool-executor'; +import { cloneDeep } from 'lodash'; +import pageClient from '../../../../src/tools/auth0/client'; + +const { expect } = require('chai'); +const selfServiceProfiles = require('../../../../src/tools/auth0/handlers/selfServiceProfiles'); +const { mockPagedData } = require('../../../utils'); + +const pool = new PromisePoolExecutor({ + concurrencyLimit: 3, + frequencyLimit: 1000, + frequencyWindow: 1000, // 1 sec +}); + +const sampleSsProfileWithOutId = { + name: 'test-self-service-profile', + description: 'test Self-Service Profile', + user_attributes: [ + { + name: 'email', + description: 'Email of the User', + is_optional: false, + }, + { + name: 'name', + description: 'Name of the User', + is_optional: true, + }, + ], + allowed_strategies: ['adfs', 'google-apps', 'keycloak-samlp', 'oidc', 'okta', 'samlp', 'waad'], + branding: { colors: { primary: '#19aecc' } }, +}; + +const sampleCustomText = { + introduction: 'Welcome!

test get-started introduction

', +}; + +const sampleSsProfileWithCustomText = { + ...cloneDeep(sampleSsProfileWithOutId), + customText: { + en: { + 'get-started': sampleCustomText, + }, + }, +}; + +const sampleSsProfileWithId = { + ...cloneDeep(sampleSsProfileWithOutId), + id: 'ssp_yR1iy6ozRb3XBThacLpA9y', +}; + +describe('#selfServiceProfiles handler', () => { + const config = function (key) { + return config.data && config.data[key]; + }; + + config.data = { + AUTH0_ALLOW_DELETE: false, + }; + + describe('#selfServiceProfiles validate', () => { + it('should not allow same names', async () => { + const handler = new selfServiceProfiles.default({ client: {}, config }); + const stageFn = Object.getPrototypeOf(handler).validate; + const data = [ + { + name: 'some-selfServiceProfile', + }, + { + name: 'some-selfServiceProfile', + }, + ]; + + try { + await stageFn.apply(handler, [{ selfServiceProfiles: data }]); + } catch (err) { + expect(err).to.be.an('object'); + expect(err.message).to.include('Names must be unique'); + } + }); + + it('should pass validation', async () => { + const handler = new selfServiceProfiles.default({ client: {}, config }); + const stageFn = Object.getPrototypeOf(handler).validate; + const data = [ + { + name: 'some-selfServiceProfile', + }, + ]; + + await stageFn.apply(handler, [{ clients: data }]); + }); + }); + + describe('#selfServiceProfiles process', () => { + it('should return empty if no selfServiceProfiles asset', async () => { + const auth0 = { + selfServiceProfiles: {}, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + const response = await stageFn.apply(handler, [{}]); + expect(response).to.equal(undefined); + }); + + it('should create selfServiceProfiles', async () => { + const auth0 = { + selfServiceProfiles: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + expect(data).to.be.an('object'); + expect(data.name).to.equal(sampleSsProfileWithOutId.name); + expect(data.user_attributes).to.be.an('array'); + expect(data.allowed_strategies).to.be.an('array'); + expect(data.branding).to.be.an('object'); + return Promise.resolve({ data }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', []), + }, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [ + { + selfServiceProfiles: [sampleSsProfileWithOutId], + }, + ]); + }); + + it('should create selfServiceProfiles with custom text', async () => { + const auth0 = { + selfServiceProfiles: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + expect(data).to.be.an('object'); + expect(data.name).to.equal(sampleSsProfileWithCustomText.name); + return Promise.resolve({ data }); + }, + update: () => Promise.resolve({ data: [] }), + delete: () => Promise.resolve({ data: [] }), + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', []), + updateCustomText: (params, data) => { + expect(params).to.be.an('object'); + expect(data).to.be.an('object'); + expect(params.language).to.equal('en'); + expect(params.page).to.equal('get-started'); + expect(data).to.deep.equal(sampleCustomText); + return Promise.resolve({ data: sampleCustomText }); + }, + }, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [ + { + selfServiceProfiles: [sampleSsProfileWithCustomText], + }, + ]); + }); + + it('should get selfServiceProfiles', async () => { + const auth0 = { + selfServiceProfiles: { + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + getCustomText: (params) => { + expect(params).to.be.an('object'); + return Promise.resolve({ data: [] }); + }, + }, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const data = await handler.getType(); + expect(data).to.deep.equal([sampleSsProfileWithId]); + }); + + it('should get selfServiceProfiles with custom_text', async () => { + const sampleSsProfileWithCustomTextWithId = { + ...cloneDeep(sampleSsProfileWithId), + customText: { + en: { + 'get-started': sampleCustomText, + }, + }, + }; + const auth0 = { + selfServiceProfiles: { + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + getCustomText: (params) => { + expect(params).to.be.an('object'); + return Promise.resolve({ + data: sampleCustomText, + }); + }, + }, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const data = await handler.getType(); + + expect(data).to.deep.equal([sampleSsProfileWithCustomTextWithId]); + }); + + it('should update selfServiceProfiles', async () => { + const sampleFormUpdated = { + ...cloneDeep(sampleSsProfileWithId), + name: 'updated-selfServiceProfile', + }; + + const auth0 = { + selfServiceProfiles: { + update: function (params, data) { + (() => expect(this).to.not.be.undefined)(); + expect(params).to.be.an('object'); + expect(params.id).to.equal(sampleSsProfileWithId.id); + expect(data).to.be.an('object'); + expect(data.name).to.equal(sampleFormUpdated.name); + + return Promise.resolve({ data }); + }, + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + getCustomText: (params) => { + expect(params).to.be.an('object'); + return Promise.resolve({ + data: sampleCustomText, + }); + }, + }, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [ + { + selfServiceProfiles: [sampleFormUpdated], + }, + ]); + }); + + it('should update selfServiceProfiles with custom_text', async () => { + const sampleFormUpdated = { + ...cloneDeep(sampleSsProfileWithId), + name: 'updated-selfServiceProfile', + customText: { + en: { + 'get-started': { + introduction: 'Welcome!

Updated introduction

', + }, + }, + }, + }; + + const auth0 = { + selfServiceProfiles: { + update: function (params, data) { + (() => expect(this).to.not.be.undefined)(); + expect(params).to.be.an('object'); + expect(params.id).to.equal(sampleSsProfileWithId.id); + expect(data).to.be.an('object'); + expect(data.name).to.equal(sampleFormUpdated.name); + return Promise.resolve({ data }); + }, + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + getCustomText: (params) => { + expect(params).to.be.an('object'); + return Promise.resolve({ + data: {}, + }); + }, + updateCustomText: (params, data) => { + expect(params).to.be.an('object'); + expect(data).to.be.an('object'); + expect(params.language).to.equal('en'); + expect(params.page).to.equal('get-started'); + expect(data).to.deep.equal({ + introduction: 'Welcome!

Updated introduction

', + }); + return Promise.resolve({ + data, + }); + }, + }, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [ + { + selfServiceProfiles: [sampleFormUpdated], + }, + ]); + }); + + it('should delete selfServiceProfiles and create another one instead', async () => { + config.data.AUTH0_ALLOW_DELETE = true; + + const sampleFormNew = { + ...cloneDeep(sampleSsProfileWithOutId), + name: 'new-selfServiceProfile', + }; + + const auth0 = { + selfServiceProfiles: { + create: function (data) { + (() => expect(this).to.not.be.undefined)(); + expect(data).to.be.an('object'); + expect(data.name).to.equal(sampleFormNew.name); + return Promise.resolve({ data }); + }, + delete: function (params) { + (() => expect(this).to.not.be.undefined)(); + expect(params).to.be.an('object'); + expect(params.id).to.equal(sampleSsProfileWithId.id); + return Promise.resolve({ data: [] }); + }, + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + getCustomText: (params) => { + expect(params).to.be.an('object'); + return Promise.resolve({ + data: {}, + }); + }, + }, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [{ selfServiceProfiles: [sampleFormNew] }]); + }); + + it('should delete all selfServiceProfiles', async () => { + let removed = false; + const auth0 = { + selfServiceProfiles: { + delete: (params) => { + removed = true; + expect(params).to.be.an('object'); + return Promise.resolve({ data: [] }); + }, + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + getCustomText: (params) => { + expect(params).to.be.an('object'); + return Promise.resolve({ + data: {}, + }); + }, + }, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [{ selfServiceProfiles: [] }]); + expect(removed).to.equal(true); + }); + + it('should not remove selfServiceProfiles if it is not allowed by config', async () => { + config.data.AUTH0_ALLOW_DELETE = false; + const auth0 = { + selfServiceProfiles: { + delete: (params) => { + expect(params).to.be.an('undefined'); + return Promise.resolve({ data: [] }); + }, + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', [sampleSsProfileWithId]), + getCustomText: (params) => { + expect(params).to.be.an('object'); + return Promise.resolve({ + data: {}, + }); + }, + }, + pool, + }; + + const handler = new selfServiceProfiles.default({ client: pageClient(auth0), config }); + const stageFn = Object.getPrototypeOf(handler).processChanges; + + await stageFn.apply(handler, [{ selfServiceProfiles: [] }]); + }); + }); +}); From e2961d04ba26d0bbaca03249e05bf28c4dc65e9b Mon Sep 17 00:00:00 2001 From: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> Date: Tue, 26 Nov 2024 15:22:48 +0530 Subject: [PATCH 6/8] unit test added yaml, directory --- .../directory/selfServiceProfiles.test.js | 77 +++++++ test/context/yaml/context.test.js | 3 + test/context/yaml/selfServiceProfiles.test.js | 199 ++++++++++++++++++ test/utils.js | 17 +- 4 files changed, 289 insertions(+), 7 deletions(-) create mode 100644 test/context/directory/selfServiceProfiles.test.js create mode 100644 test/context/yaml/selfServiceProfiles.test.js diff --git a/test/context/directory/selfServiceProfiles.test.js b/test/context/directory/selfServiceProfiles.test.js new file mode 100644 index 00000000..6365b274 --- /dev/null +++ b/test/context/directory/selfServiceProfiles.test.js @@ -0,0 +1,77 @@ +import path from 'path'; + +import { expect } from 'chai'; +import { constants } from '../../../src/tools'; + +import Context from '../../../src/context/directory'; +import handler from '../../../src/context/directory/handlers/selfServiceProfiles'; +import { loadJSON } from '../../../src/utils'; +import { cleanThenMkdir, testDataDir, createDir, mockMgmtClient } from '../../utils'; + +describe('#directory context selfServiceProfiles', () => { + it('should process selfServiceProfiles', async () => { + const files = { + [constants.SELF_SERVICE_PROFILE_DIRECTORY]: { + 'test-self-service-profile.json': + '{ "name": "test-self-service-profile", "description": "test Self-Service Profile" }', + 'test-self-service-profile-2.json': + '{ "name": "test-self-service-profile-2", "description": "test self-Service new profile 2" }', + }, + }; + + const repoDir = path.join(testDataDir, 'directory', 'selfServiceProfiles'); + createDir(repoDir, files); + + const config = { + AUTH0_INPUT_FILE: repoDir, + }; + const context = new Context(config, mockMgmtClient()); + await context.loadAssetsFromLocal(); + + const target = [ + { name: 'test-self-service-profile-2', description: 'test self-Service new profile 2' }, + { name: 'test-self-service-profile', description: 'test Self-Service Profile' }, + ]; + expect(context.assets.selfServiceProfiles).to.deep.equal(target); + }); + + it('should dump selfServiceProfiles', async () => { + const dir = path.join(testDataDir, 'directory', 'selfServiceProfilesDump'); + cleanThenMkdir(dir); + const context = new Context({ AUTH0_INPUT_FILE: dir }, mockMgmtClient()); + + context.assets.selfServiceProfiles = [ + { name: 'test-self-service-profile-2', description: 'test self-Service new profile 2' }, + { name: 'test-self-service-profile', description: 'test Self-Service Profile' }, + ]; + + await handler.dump(context); + const selfServiceProfilesFolder = path.join(dir, constants.SELF_SERVICE_PROFILE_DIRECTORY); + expect( + loadJSON(path.join(selfServiceProfilesFolder, 'test-self-service-profile-2.json')) + ).to.deep.equal(context.assets.selfServiceProfiles[0]); + expect( + loadJSON(path.join(selfServiceProfilesFolder, 'test-self-service-profile.json')) + ).to.deep.equal(context.assets.selfServiceProfiles[1]); + }); + + it('should dump selfServiceProfiles sanitized', async () => { + const dir = path.join(testDataDir, 'directory', 'selfServiceProfilesDump'); + cleanThenMkdir(dir); + const context = new Context({ AUTH0_INPUT_FILE: dir }, mockMgmtClient()); + + context.assets.selfServiceProfiles = [ + { name: 'test-self-service-profile-2', description: 'test self-Service new profile 2' }, + { name: 'test-self-service-profile', description: 'test Self-Service Profile' }, + ]; + + await handler.dump(context); + const clientFolder = path.join(dir, constants.SELF_SERVICE_PROFILE_DIRECTORY); + expect(loadJSON(path.join(clientFolder, 'test-self-service-profile-2.json'))).to.deep.equal( + context.assets.selfServiceProfiles[0] + ); + expect(loadJSON(path.join(clientFolder, 'test-self-service-profile.json'))).to.deep.equal( + context.assets.selfServiceProfiles[1] + ); + }); +}); diff --git a/test/context/yaml/context.test.js b/test/context/yaml/context.test.js index 55c4e886..88ab9719 100644 --- a/test/context/yaml/context.test.js +++ b/test/context/yaml/context.test.js @@ -298,6 +298,7 @@ describe('#YAML context validation', () => { flowVaultConnections: [], flows: [], forms: [], + selfServiceProfiles: [], }); }); @@ -413,6 +414,7 @@ describe('#YAML context validation', () => { flowVaultConnections: [], flows: [], forms: [], + selfServiceProfiles: [], }); }); @@ -529,6 +531,7 @@ describe('#YAML context validation', () => { flowVaultConnections: [], flows: [], forms: [], + selfServiceProfiles: [], }); }); diff --git a/test/context/yaml/selfServiceProfiles.test.js b/test/context/yaml/selfServiceProfiles.test.js new file mode 100644 index 00000000..f8de5100 --- /dev/null +++ b/test/context/yaml/selfServiceProfiles.test.js @@ -0,0 +1,199 @@ +import path from 'path'; +import fs from 'fs-extra'; +import { expect } from 'chai'; + +import Context from '../../../src/context/yaml'; +import handler from '../../../src/context/yaml/handlers/selfServiceProfiles'; +import { cleanThenMkdir, testDataDir, mockMgmtClient } from '../../utils'; + +describe('#YAML context selfServiceProfiles', () => { + it('should process selfServiceProfiles', async () => { + const dir = path.join(testDataDir, 'yaml', 'selfServiceProfiles1'); + cleanThenMkdir(dir); + + const yaml = ` + selfServiceProfiles: + - name: test-self-service-profile + allowed_strategies: @@ALLOWED_STRATEGIES@@ + branding: + colors: + primary: '#19aecc' + customText: + en: + get-started: + introduction: >- + Welcome! With

only a few steps

you'll be able to setup your + new connection. + description: test Self-Service Profile + user_attributes: + - name: email + description: Email of the User + is_optional: false + - name: name + description: Name of the User + is_optional: true + - name: test-self-service-profile-2 + description: test self-Service new profile 2 + `; + + const target = [ + { + name: 'test-self-service-profile', + description: 'test Self-Service Profile', + user_attributes: [ + { + name: 'email', + description: 'Email of the User', + is_optional: false, + }, + { + name: 'name', + description: 'Name of the User', + is_optional: true, + }, + ], + allowed_strategies: [ + 'adfs', + 'google-apps', + 'keycloak-samlp', + 'oidc', + 'okta', + 'samlp', + 'waad', + ], + branding: { colors: { primary: '#19aecc' } }, + customText: { + en: { + 'get-started': { + introduction: + "Welcome! With

only a few steps

you'll be able to setup your new connection.", + }, + }, + }, + }, + { + name: 'test-self-service-profile-2', + description: 'test self-Service new profile 2', + }, + ]; + + const yamlFile = path.join(dir, 'selfServiceProfiles.yaml'); + const selfServiceProfilesPath = path.join(dir, 'selfServiceProfiles'); + fs.writeFileSync(yamlFile, yaml); + fs.ensureDirSync(selfServiceProfilesPath); + + const config = { + AUTH0_INPUT_FILE: yamlFile, + AUTH0_KEYWORD_REPLACE_MAPPINGS: { + ALLOWED_STRATEGIES: [ + 'adfs', + 'google-apps', + 'keycloak-samlp', + 'oidc', + 'okta', + 'samlp', + 'waad', + ], + }, + }; + const context = new Context(config, mockMgmtClient()); + await context.loadAssetsFromLocal(); + + expect(context.assets.selfServiceProfiles).to.deep.equal(target); + }); + + it('should dump selfServiceProfiles', async () => { + const dir = path.join(testDataDir, 'yaml', 'selfServiceProfilesDump'); + cleanThenMkdir(dir); + const context = new Context( + { AUTH0_INPUT_FILE: path.join(dir, './test.yml') }, + mockMgmtClient() + ); + const selfServiceProfiles = [ + { + name: 'test-self-service-profile', + description: 'test Self-Service Profile', + user_attributes: [ + { + name: 'email', + description: 'Email of the User', + is_optional: false, + }, + { + name: 'name', + description: 'Name of the User', + is_optional: true, + }, + ], + allowed_strategies: [ + 'adfs', + 'google-apps', + 'keycloak-samlp', + 'oidc', + 'okta', + 'samlp', + 'waad', + ], + branding: { colors: { primary: '#19aecc' } }, + customText: { + en: { + 'get-started': { + introduction: + "Welcome! With

only a few steps

you'll be able to setup your new connection.", + }, + }, + }, + }, + { + name: 'test-self-service-profile-2', + description: 'test self-Service new profile 2', + }, + ]; + + const target = [ + { + name: 'test-self-service-profile', + description: 'test Self-Service Profile', + user_attributes: [ + { + name: 'email', + description: 'Email of the User', + is_optional: false, + }, + { + name: 'name', + description: 'Name of the User', + is_optional: true, + }, + ], + allowed_strategies: [ + 'adfs', + 'google-apps', + 'keycloak-samlp', + 'oidc', + 'okta', + 'samlp', + 'waad', + ], + branding: { colors: { primary: '#19aecc' } }, + customText: { + en: { + 'get-started': { + introduction: + "Welcome! With

only a few steps

you'll be able to setup your new connection.", + }, + }, + }, + }, + { + name: 'test-self-service-profile-2', + description: 'test self-Service new profile 2', + }, + ]; + + context.assets.selfServiceProfiles = selfServiceProfiles; + + const dumped = await handler.dump(context); + expect(dumped).to.deep.equal({ selfServiceProfiles: target }); + }); +}); diff --git a/test/utils.js b/test/utils.js index 9d0a4213..39ffbdae 100644 --- a/test/utils.js +++ b/test/utils.js @@ -16,14 +16,14 @@ export const testDataDir = path.resolve(localDir, 'testData'); export function mockPagedData(params, key, data) { return params?.include_totals ? { - data: { - [key]: data, - total: data?.length || 0, - }, - } + data: { + [key]: data, + total: data?.length || 0, + }, + } : { - data, - }; + data, + }; } export function mockMgmtClient() { @@ -136,6 +136,9 @@ export function mockMgmtClient() { getAll: (params) => mockPagedData(params, 'flows', []), getAllConnections: (params) => mockPagedData(params, 'connections', []), }, + selfServiceProfiles: { + getAll: (params) => mockPagedData(params, 'selfServiceProfiles', []), + }, }; } From 2c3a4fb131b3165a343ce2f4b7a90933ca93f82a Mon Sep 17 00:00:00 2001 From: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:44:30 +0530 Subject: [PATCH 7/8] added e2e recordings --- ...sources-if-AUTH0_ALLOW_DELETE-is-true.json | 3511 +++++-- ...ources-if-AUTH0_ALLOW_DELETE-is-false.json | 3549 ++++--- ...-and-deploy-without-throwing-an-error.json | 8412 +++++++++++++++-- ...should-dump-without-throwing-an-error.json | 1638 +++- .../forms/Blank-form.json | 57 + .../lots-of-configuration/tenant.yaml | 20 + 6 files changed, 13684 insertions(+), 3503 deletions(-) create mode 100644 test/e2e/testdata/lots-of-configuration/forms/Blank-form.json diff --git a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json index 5a008414..75d45a91 100644 --- a/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json +++ b/test/e2e/recordings/should-deploy-while-deleting-resources-if-AUTH0_ALLOW_DELETE-is-true.json @@ -1036,7 +1036,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -1108,7 +1108,7 @@ "subject": "deprecated" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "I4SMANUeyP7eJeGk7t5rIbS09hlXhiGt", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1123,218 +1123,581 @@ "client_credentials" ], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "DELETE", - "path": "/api/v2/clients/I155fGKAI34tbclxLYjEwUYngPU53Blu", - "body": "", - "status": 204, - "response": "", - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", - "body": { - "name": "API Explorer Application", - "allowed_clients": [], - "app_type": "non_interactive", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" - }, - "status": 201, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "encrypted": true, - "signing_keys": [ { - "cert": "[REDACTED]", - "key": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", - "body": { - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "allowed_origins": [], - "app_type": "regular_web", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, - "cross_origin_auth": false, - "custom_login_page_on": true, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "is_first_party": true, - "is_token_endpoint_ip_header_trusted": false, - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post", - "web_origins": [] - }, - "status": 201, - "response": { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "encrypted": true, - "signing_keys": [ { - "cert": "[REDACTED]", - "key": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "qcX3h4xaqisGinrUbmT2K176tbRbUVcl", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "DELETE", + "path": "/api/v2/clients/I4SMANUeyP7eJeGk7t5rIbS09hlXhiGt", + "body": "", + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", + "body": { + "name": "API Explorer Application", + "allowed_clients": [], + "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/buBUEdedFCwOXr634CgnL78sJSI3w4Mi", + "body": { + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "allowed_origins": [], + "app_type": "regular_web", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post", + "web_origins": [] + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], "allowed_origins": [], - "client_id": "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", + "client_id": "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1359,8 +1722,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", "body": { "name": "Quickstarts API (Test Application)", "app_type": "non_interactive", @@ -1376,8 +1739,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "oidc_conformant": true, "refresh_token": { @@ -1392,7 +1754,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1415,16 +1777,14 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "EpCo0Vpnwxqp5mWxTWaQ528W9WBqn3zI", + "client_id": "brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1444,8 +1804,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "body": { "name": "Terraform Provider", "app_type": "non_interactive", @@ -1458,8 +1818,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "oidc_conformant": true, "refresh_token": { @@ -1474,7 +1833,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1494,16 +1853,14 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1523,8 +1880,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", "body": { "name": "The Default App", "allowed_clients": [], @@ -1543,8 +1900,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1568,7 +1924,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1600,16 +1956,14 @@ "sso": false, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", + "client_id": "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1632,8 +1986,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/qcX3h4xaqisGinrUbmT2K176tbRbUVcl", "body": { "name": "Test SPA", "allowed_clients": [], @@ -1657,8 +2011,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1684,7 +2037,7 @@ "http://localhost:3000" ] }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1720,16 +2073,14 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "EQMvHgT0qHyH56H8QAxf7uOVp19hsfYU", + "client_id": "qcX3h4xaqisGinrUbmT2K176tbRbUVcl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1755,8 +2106,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", "body": { "name": "auth0-deploy-cli-extension", "allowed_clients": [], @@ -1773,8 +2124,7 @@ "is_token_endpoint_ip_header_trusted": false, "jwt_configuration": { "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1797,7 +2147,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1828,16 +2178,14 @@ }, "sso_disabled": false, "cross_origin_authentication": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf", + "client_id": "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1896,7 +2244,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -1924,7 +2272,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -1938,7 +2286,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -1952,7 +2300,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -1966,7 +2314,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -1994,7 +2342,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -2021,143 +2369,511 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/phone/selected-provider", + "method": "PUT", + "path": "/api/v2/guardian/factors/phone/selected-provider", + "body": { + "provider": "auth0" + }, + "status": 200, + "response": { + "provider": "auth0" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PUT", + "path": "/api/v2/guardian/factors/phone/message-types", + "body": { + "message_types": [] + }, + "status": 200, + "response": { + "message_types": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/prompts", + "body": { + "universal_login_experience": "new", + "identifier_first": true + }, + "status": 200, + "response": { + "universal_login_experience": "new", + "identifier_first": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "body": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "admin_notification" + ], + "allowlist": [ + "127.0.0.1" + ], + "stage": { + "pre-login": { + "max_attempts": 66, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 66, + "rate": 1200 + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 66 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/log-streams", + "body": "", + "status": 200, + "response": [ + { + "id": "lst_0000000000018670", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-90dc452a-87e2-4ced-8280-c0beec6b3d04/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + }, + { + "id": "lst_0000000000018669", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + } + ], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000018670", "body": { - "provider": "auth0" + "name": "Amazon EventBridge", + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "status": "active" }, "status": 200, "response": { - "provider": "auth0" + "id": "lst_0000000000018670", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-90dc452a-87e2-4ced-8280-c0beec6b3d04/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PUT", - "path": "/api/v2/guardian/factors/phone/message-types", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000018669", "body": { - "message_types": [] + "name": "Suspended DD Log Stream", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + } }, "status": 200, "response": { - "message_types": [] + "id": "lst_0000000000018669", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/prompts", - "body": { - "universal_login_experience": "new", - "identifier_first": true - }, + "method": "GET", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "body": "", "status": 200, "response": { - "universal_login_experience": "new", - "identifier_first": true + "limit": 100, + "start": 0, + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", - "body": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } - }, + "method": "GET", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "body": "", "status": 200, "response": { - "enabled": true, - "shields": [ - "admin_notification" - ], - "allowlist": [ - "127.0.0.1" - ], - "stage": { - "pre-login": { - "max_attempts": 66, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 66, - "rate": 1200 - } - } + "limit": 100, + "start": 0, + "total": 0, + "flows": [] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 - }, + "method": "GET", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "body": "", "status": 200, "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 + "limit": 100, + "start": 0, + "total": 0, + "forms": [] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", + "method": "POST", + "path": "/api/v2/forms", "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" + "name": "Blank-form", + "languages": { + "primary": "en" + }, + "nodes": [ + { + "id": "step_ggeX", + "type": "STEP", + "coordinates": { + "x": 500, + "y": 0 + }, + "alias": "New step", + "config": { + "components": [ + { + "id": "full_name", + "category": "FIELD", + "type": "TEXT", + "label": "Your Name", + "required": true, + "sensitive": false, + "config": { + "multiline": false, + "min_length": 1, + "max_length": 50 + } + }, + { + "id": "next_button_3FbA", + "category": "BLOCK", + "type": "NEXT_BUTTON", + "config": { + "text": "Continue" + } + } + ], + "next_node": "$ending" + } + } + ], + "start": { + "next_node": "step_ggeX", + "coordinates": { + "x": 0, + "y": 0 + } + }, + "ending": { + "resume_flow": true, + "coordinates": { + "x": 1250, + "y": 0 + } + } }, - "status": 200, + "status": 201, "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "languages": { + "primary": "en" + }, + "nodes": [ + { + "id": "step_ggeX", + "type": "STEP", + "coordinates": { + "x": 500, + "y": 0 + }, + "alias": "New step", + "config": { + "components": [ + { + "id": "full_name", + "category": "FIELD", + "type": "TEXT", + "label": "Your Name", + "required": true, + "sensitive": false, + "config": { + "multiline": false, + "min_length": 1, + "max_length": 50 + } + }, + { + "id": "next_button_3FbA", + "category": "BLOCK", + "type": "NEXT_BUTTON", + "config": { + "text": "Continue" + } + } + ], + "next_node": "$ending" + } } - } + ], + "start": { + "next_node": "step_ggeX", + "coordinates": { + "x": 0, + "y": 0 + } + }, + "ending": { + "resume_flow": true, + "coordinates": { + "x": 1250, + "y": 0 + } + }, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2024-11-26T11:58:18.187Z" }, "rawHeaders": [], "responseIsBinary": false @@ -2165,36 +2881,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/log-streams", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", "body": "", "status": 200, - "response": [], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/log-streams", - "body": { - "name": "Suspended DD Log Stream", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "type": "datadog" - }, - "status": 200, "response": { - "id": "lst_0000000000018638", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false + "self_service_profiles": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2202,103 +2896,60 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/log-streams", + "path": "/api/v2/self-service-profiles", "body": { - "name": "Amazon EventBridge", - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, + "name": "self-service-profile-1", + "allowed_strategies": [ + "google-apps", + "okta" + ], + "branding": { + "colors": { + "primary": "#19aecc" + } + }, + "description": "test description self-service-profile-1", + "user_attributes": [ { - "type": "category", - "name": "auth.silent_auth.success" + "name": "email", + "description": "Email of the User", + "is_optional": false }, { - "type": "category", - "name": "auth.token_exchange.fail" + "name": "name", + "description": "Name of the User", + "is_optional": true } - ], - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2" - }, - "type": "eventbridge" + ] }, - "status": 200, + "status": 201, "response": { - "id": "lst_0000000000018639", - "name": "Amazon EventBridge", - "type": "eventbridge", - "status": "active", - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-bd22378f-eb63-46ad-9c53-b601689880ba/auth0.logs" - }, - "filters": [ - { - "type": "category", - "name": "auth.login.success" - }, - { - "type": "category", - "name": "auth.login.notification" - }, - { - "type": "category", - "name": "auth.login.fail" - }, - { - "type": "category", - "name": "auth.signup.success" - }, - { - "type": "category", - "name": "auth.logout.success" - }, - { - "type": "category", - "name": "auth.logout.fail" - }, - { - "type": "category", - "name": "auth.silent_auth.fail" - }, + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ { - "type": "category", - "name": "auth.silent_auth.success" + "name": "email", + "description": "Email of the User", + "is_optional": false }, { - "type": "category", - "name": "auth.token_exchange.fail" + "name": "name", + "description": "Name of the User", + "is_optional": true } ], - "isPriority": false + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2024-11-26T11:58:18.962Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } }, "rawHeaders": [], "responseIsBinary": false @@ -2392,7 +3043,7 @@ "subject": "deprecated" } ], - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2437,7 +3088,7 @@ "subject": "deprecated" } ], - "client_id": "EpCo0Vpnwxqp5mWxTWaQ528W9WBqn3zI", + "client_id": "brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2491,7 +3142,7 @@ } ], "allowed_origins": [], - "client_id": "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", + "client_id": "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2537,7 +3188,7 @@ "subject": "deprecated" } ], - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2590,7 +3241,7 @@ "subject": "deprecated" } ], - "client_id": "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", + "client_id": "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2650,7 +3301,7 @@ "subject": "deprecated" } ], - "client_id": "EQMvHgT0qHyH56H8QAxf7uOVp19hsfYU", + "client_id": "qcX3h4xaqisGinrUbmT2K176tbRbUVcl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2708,7 +3359,7 @@ "subject": "deprecated" } ], - "client_id": "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf", + "client_id": "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2771,12 +3422,73 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_HMwRsUFaKS0pF37E", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", + "buBUEdedFCwOXr634CgnL78sJSI3w4Mi" + ] + }, + { + "id": "con_ZcGSHEj0yQ6hELRN", "options": { "mfa": { "active": true, @@ -2788,7 +3500,76 @@ "local_enrollment_enabled": true, "progressive_enrollment_enabled": true }, - "strategy_version": 2, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?per_page=100&page=0&include_totals=true&strategy=auth0", + "body": "", + "status": 200, + "response": { + "total": 2, + "start": 0, + "limit": 100, + "connections": [ + { + "id": "con_HMwRsUFaKS0pF37E", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, "authentication_methods": { "passkey": { "enabled": false @@ -2797,36 +3578,28 @@ "enabled": true } }, - "brute_force_protection": true + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true }, "strategy": "auth0", - "name": "Username-Password-Authentication", + "name": "boo-baz-db-connection-test", "is_domain_connection": false, "realms": [ - "Username-Password-Authentication" + "boo-baz-db-connection-test" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", + "buBUEdedFCwOXr634CgnL78sJSI3w4Mi" ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?per_page=100&page=0&include_totals=true&strategy=auth0", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "connections": [ + }, { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_ZcGSHEj0yQ6hELRN", "options": { "mfa": { "active": true, @@ -2867,27 +3640,23 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_pLHGc8ZQSY99vFHF", + "path": "/api/v2/connections/con_ZcGSHEj0yQ6hELRN", "body": "", "status": 202, "response": { - "deleted_at": "2024-11-24T09:35:29.609Z" + "deleted_at": "2024-11-26T11:58:20.482Z" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", - "body": { - "name": "boo-baz-db-connection-test", - "strategy": "auth0", - "enabled_clients": [ - "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", - "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf" - ], - "is_domain_connection": false, + "method": "GET", + "path": "/api/v2/connections/con_HMwRsUFaKS0pF37E", + "body": "", + "status": 200, + "response": { + "id": "con_HMwRsUFaKS0pF37E", "options": { "mfa": { "active": true, @@ -2895,15 +3664,20 @@ }, "import_mode": false, "customScripts": { - "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", - "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -2914,6 +3688,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -2923,19 +3705,35 @@ }, "enabledDatabaseCustomization": true }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "enabled_clients": [ + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", + "buBUEdedFCwOXr634CgnL78sJSI3w4Mi" + ], "realms": [ "boo-baz-db-connection-test" ] }, - "status": 201, - "response": { - "id": "con_GorX2vUJH0mAsHU6", + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_HMwRsUFaKS0pF37E", + "body": { + "enabled_clients": [ + "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX" + ], + "is_domain_connection": false, "options": { "mfa": { "active": true, "return_enroll_settings": true }, - "passwordPolicy": "low", "import_mode": false, "customScripts": { "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", @@ -2946,6 +3744,12 @@ "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" }, "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -2956,6 +3760,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -2963,27 +3775,69 @@ "password_complexity_options": { "min_length": 8 }, - "enabledDatabaseCustomization": true, + "enabledDatabaseCustomization": true + }, + "realms": [ + "boo-baz-db-connection-test" + ] + }, + "status": 200, + "response": { + "id": "con_HMwRsUFaKS0pF37E", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, "authentication_methods": { - "password": { - "enabled": true - }, "passkey": { "enabled": false + }, + "password": { + "enabled": true } }, - "passkey_options": { - "challenge_ui": "both", - "progressive_enrollment_enabled": true, - "local_enrollment_enabled": true - } + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true }, "strategy": "auth0", "name": "boo-baz-db-connection-test", "is_domain_connection": false, "enabled_clients": [ - "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", - "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf" + "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX" ], "realms": [ "boo-baz-db-connection-test" @@ -3081,7 +3935,7 @@ "subject": "deprecated" } ], - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3126,7 +3980,7 @@ "subject": "deprecated" } ], - "client_id": "EpCo0Vpnwxqp5mWxTWaQ528W9WBqn3zI", + "client_id": "brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3180,7 +4034,7 @@ } ], "allowed_origins": [], - "client_id": "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", + "client_id": "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3226,7 +4080,7 @@ "subject": "deprecated" } ], - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3279,7 +4133,7 @@ "subject": "deprecated" } ], - "client_id": "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", + "client_id": "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3339,7 +4193,7 @@ "subject": "deprecated" } ], - "client_id": "EQMvHgT0qHyH56H8QAxf7uOVp19hsfYU", + "client_id": "qcX3h4xaqisGinrUbmT2K176tbRbUVcl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3397,7 +4251,7 @@ "subject": "deprecated" } ], - "client_id": "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf", + "client_id": "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3465,7 +4319,7 @@ "limit": 100, "connections": [ { - "id": "con_GorX2vUJH0mAsHU6", + "id": "con_HMwRsUFaKS0pF37E", "options": { "mfa": { "active": true, @@ -3521,12 +4375,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", - "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf" + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", + "buBUEdedFCwOXr634CgnL78sJSI3w4Mi" ] }, { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_X0vz6EGKTOST5JmB", "options": { "email": true, "scope": [ @@ -3542,7 +4396,8 @@ "google-oauth2" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", + "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV" ] } ] @@ -3562,7 +4417,7 @@ "limit": 100, "connections": [ { - "id": "con_GorX2vUJH0mAsHU6", + "id": "con_HMwRsUFaKS0pF37E", "options": { "mfa": { "active": true, @@ -3618,12 +4473,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", - "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf" + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", + "buBUEdedFCwOXr634CgnL78sJSI3w4Mi" ] }, { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_X0vz6EGKTOST5JmB", "options": { "email": true, "scope": [ @@ -3639,7 +4494,8 @@ "google-oauth2" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", + "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV" ] } ] @@ -3650,11 +4506,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_7CbwOJ6bXHUUVKx1", + "path": "/api/v2/connections/con_X0vz6EGKTOST5JmB", "body": { "enabled_clients": [ - "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", - "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf" + "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX" ], "is_domain_connection": false, "options": { @@ -3668,7 +4524,7 @@ }, "status": 200, "response": { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_X0vz6EGKTOST5JmB", "options": { "email": true, "scope": [ @@ -3681,8 +4537,8 @@ "name": "google-oauth2", "is_domain_connection": false, "enabled_clients": [ - "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", - "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf" + "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX" ], "realms": [ "google-oauth2" @@ -3834,7 +4690,7 @@ "subject": "deprecated" } ], - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3879,7 +4735,7 @@ "subject": "deprecated" } ], - "client_id": "EpCo0Vpnwxqp5mWxTWaQ528W9WBqn3zI", + "client_id": "brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3933,7 +4789,7 @@ } ], "allowed_origins": [], - "client_id": "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", + "client_id": "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3979,7 +4835,7 @@ "subject": "deprecated" } ], - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4032,7 +4888,7 @@ "subject": "deprecated" } ], - "client_id": "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", + "client_id": "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4092,7 +4948,7 @@ "subject": "deprecated" } ], - "client_id": "EQMvHgT0qHyH56H8QAxf7uOVp19hsfYU", + "client_id": "qcX3h4xaqisGinrUbmT2K176tbRbUVcl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4150,7 +5006,7 @@ "subject": "deprecated" } ], - "client_id": "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf", + "client_id": "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4166,57 +5022,194 @@ ], "custom_login_page_on": true }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "client_grants": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "client_grants": [ + { + "id": "cgr_pZor6d8WPxRjkctj", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, { "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -4412,6 +5405,143 @@ "create:organization_client_grants", "delete:organization_client_grants" ] + }, + { + "id": "cgr_tOa0EdfEV1OShllL", + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] } ] }, @@ -4420,11 +5550,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/client-grants", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_tOa0EdfEV1OShllL", "body": { - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -4558,10 +5686,10 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { - "id": "cgr_DdIcHGb8Jr4BB8PH", - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", + "id": "cgr_tOa0EdfEV1OShllL", + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -4701,11 +5829,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/client-grants", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_pZor6d8WPxRjkctj", "body": { - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -4839,10 +5965,10 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { - "id": "cgr_oNgDuNEzPtjhCY0i", - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", + "id": "cgr_pZor6d8WPxRjkctj", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -4987,7 +6113,43 @@ "body": "", "status": 200, "response": { - "roles": [], + "roles": [ + { + "id": "rol_xW4IMAtrpGDM6XQS", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_IKrCQ7OOr7YIyU75", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_bidT6bhPCDdnQ6CI", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_39t36eUUcy0yM4aD", + "name": "read_osnly", + "description": "Readz Only" + } + ], + "start": 0, + "limit": 100, + "total": 4 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_xW4IMAtrpGDM6XQS/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], "start": 0, "limit": 100, "total": 0 @@ -4997,15 +6159,60 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "GET", + "path": "/api/v2/roles/rol_IKrCQ7OOr7YIyU75/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_bidT6bhPCDdnQ6CI/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_39t36eUUcy0yM4aD/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_xW4IMAtrpGDM6XQS", "body": { "name": "Admin", "description": "Can read and write things" }, "status": 200, "response": { - "id": "rol_LYGx3QV7qsuVAryb", + "id": "rol_xW4IMAtrpGDM6XQS", "name": "Admin", "description": "Can read and write things" }, @@ -5014,15 +6221,15 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_IKrCQ7OOr7YIyU75", "body": { "name": "Reader", "description": "Can only read things" }, "status": 200, "response": { - "id": "rol_jEi56FTNyRfGUojs", + "id": "rol_IKrCQ7OOr7YIyU75", "name": "Reader", "description": "Can only read things" }, @@ -5031,15 +6238,15 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_bidT6bhPCDdnQ6CI", "body": { "name": "read_only", "description": "Read Only" }, "status": 200, "response": { - "id": "rol_3fsofDMyCFIeFMJA", + "id": "rol_bidT6bhPCDdnQ6CI", "name": "read_only", "description": "Read Only" }, @@ -5048,15 +6255,15 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_39t36eUUcy0yM4aD", "body": { "name": "read_osnly", "description": "Readz Only" }, "status": 200, "response": { - "id": "rol_QoeOMtopW3R38wVo", + "id": "rol_39t36eUUcy0yM4aD", "name": "read_osnly", "description": "Readz Only" }, @@ -5070,7 +6277,56 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "ca7893f6-26b5-4a0c-8f06-c34d279fea28", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2024-11-26T11:47:41.999678541Z", + "updated_at": "2024-11-26T11:47:42.014574720Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node16", + "status": "built", + "secrets": [], + "current_version": { + "id": "a77c444f-45ad-4333-be22-81d4ef067099", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node16", + "status": "BUILT", + "number": 1, + "build_time": "2024-11-26T11:47:42.842844768Z", + "created_at": "2024-11-26T11:47:42.752103816Z", + "updated_at": "2024-11-26T11:47:42.844384224Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "a77c444f-45ad-4333-be22-81d4ef067099", + "deployed": true, + "number": 1, + "built_at": "2024-11-26T11:47:42.842844768Z", + "secrets": [], + "status": "built", + "created_at": "2024-11-26T11:47:42.752103816Z", + "updated_at": "2024-11-26T11:47:42.844384224Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -5078,8 +6334,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/actions/actions", + "method": "PATCH", + "path": "/api/v2/actions/actions/ca7893f6-26b5-4a0c-8f06-c34d279fea28", "body": { "name": "My Custom Action", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", @@ -5093,9 +6349,9 @@ } ] }, - "status": 201, + "status": 200, "response": { - "id": "a1f6fffd-6c61-47f4-9524-26d361c0e2fa", + "id": "ca7893f6-26b5-4a0c-8f06-c34d279fea28", "name": "My Custom Action", "supported_triggers": [ { @@ -5103,14 +6359,43 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:35:34.587998148Z", - "updated_at": "2024-11-24T09:35:34.595816664Z", + "created_at": "2024-11-26T11:47:41.999678541Z", + "updated_at": "2024-11-26T11:58:27.757237207Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node16", "status": "pending", "secrets": [], - "all_changes_deployed": false + "current_version": { + "id": "a77c444f-45ad-4333-be22-81d4ef067099", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node16", + "status": "BUILT", + "number": 1, + "build_time": "2024-11-26T11:47:42.842844768Z", + "created_at": "2024-11-26T11:47:42.752103816Z", + "updated_at": "2024-11-26T11:47:42.844384224Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "a77c444f-45ad-4333-be22-81d4ef067099", + "deployed": true, + "number": 1, + "built_at": "2024-11-26T11:47:42.842844768Z", + "secrets": [], + "status": "built", + "created_at": "2024-11-26T11:47:42.752103816Z", + "updated_at": "2024-11-26T11:47:42.844384224Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true }, "rawHeaders": [], "responseIsBinary": false @@ -5124,7 +6409,7 @@ "response": { "actions": [ { - "id": "a1f6fffd-6c61-47f4-9524-26d361c0e2fa", + "id": "ca7893f6-26b5-4a0c-8f06-c34d279fea28", "name": "My Custom Action", "supported_triggers": [ { @@ -5132,14 +6417,43 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:35:34.587998148Z", - "updated_at": "2024-11-24T09:35:34.595816664Z", + "created_at": "2024-11-26T11:47:41.999678541Z", + "updated_at": "2024-11-26T11:58:27.757237207Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node16", "status": "built", "secrets": [], - "all_changes_deployed": false + "current_version": { + "id": "a77c444f-45ad-4333-be22-81d4ef067099", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node16", + "status": "BUILT", + "number": 1, + "build_time": "2024-11-26T11:47:42.842844768Z", + "created_at": "2024-11-26T11:47:42.752103816Z", + "updated_at": "2024-11-26T11:47:42.844384224Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "a77c444f-45ad-4333-be22-81d4ef067099", + "deployed": true, + "number": 1, + "built_at": "2024-11-26T11:47:42.842844768Z", + "secrets": [], + "status": "built", + "created_at": "2024-11-26T11:47:42.752103816Z", + "updated_at": "2024-11-26T11:47:42.844384224Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true } ], "total": 1, @@ -5151,19 +6465,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/a1f6fffd-6c61-47f4-9524-26d361c0e2fa/deploy", + "path": "/api/v2/actions/actions/ca7893f6-26b5-4a0c-8f06-c34d279fea28/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "e79cf61a-d727-4efc-8457-424a79f49c57", + "id": "33047fea-6d07-42a3-ab4f-352d438de536", "deployed": false, - "number": 1, + "number": 2, "secrets": [], "status": "built", - "created_at": "2024-11-24T09:35:35.347078425Z", - "updated_at": "2024-11-24T09:35:35.347078425Z", + "created_at": "2024-11-26T11:58:28.446625637Z", + "updated_at": "2024-11-26T11:58:28.446625637Z", "runtime": "node16", "supported_triggers": [ { @@ -5172,7 +6486,7 @@ } ], "action": { - "id": "a1f6fffd-6c61-47f4-9524-26d361c0e2fa", + "id": "ca7893f6-26b5-4a0c-8f06-c34d279fea28", "name": "My Custom Action", "supported_triggers": [ { @@ -5180,8 +6494,8 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:35:34.587998148Z", - "updated_at": "2024-11-24T09:35:34.587998148Z", + "created_at": "2024-11-26T11:47:41.999678541Z", + "updated_at": "2024-11-26T11:58:27.750497540Z", "all_changes_deployed": false } }, @@ -5195,22 +6509,27 @@ "body": "", "status": 200, "response": { - "organizations": [], + "organizations": [ + { + "id": "org_9xZg9gRkVOCXeoTs", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_HpkU3x2QLHqDWWxs", + "name": "org2", + "display_name": "Organization2" + } + ], "start": 0, "limit": 50, - "total": 0 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", - "body": "", - "status": 200, - "response": { - "organizations": [] + "total": 2 }, "rawHeaders": [], "responseIsBinary": false @@ -5304,7 +6623,7 @@ "subject": "deprecated" } ], - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5349,7 +6668,7 @@ "subject": "deprecated" } ], - "client_id": "EpCo0Vpnwxqp5mWxTWaQ528W9WBqn3zI", + "client_id": "brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5403,7 +6722,7 @@ } ], "allowed_origins": [], - "client_id": "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", + "client_id": "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5449,7 +6768,7 @@ "subject": "deprecated" } ], - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5502,7 +6821,7 @@ "subject": "deprecated" } ], - "client_id": "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", + "client_id": "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5562,7 +6881,7 @@ "subject": "deprecated" } ], - "client_id": "EQMvHgT0qHyH56H8QAxf7uOVp19hsfYU", + "client_id": "qcX3h4xaqisGinrUbmT2K176tbRbUVcl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5620,7 +6939,7 @@ "subject": "deprecated" } ], - "client_id": "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf", + "client_id": "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5676,6 +6995,85 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?include_totals=true&take=50", + "body": "", + "status": 200, + "response": { + "organizations": [ + { + "id": "org_9xZg9gRkVOCXeoTs", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_HpkU3x2QLHqDWWxs", + "name": "org2", + "display_name": "Organization2" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_9xZg9gRkVOCXeoTs/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_9xZg9gRkVOCXeoTs/client-grants?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_HpkU3x2QLHqDWWxs/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_HpkU3x2QLHqDWWxs/client-grants?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5688,7 +7086,7 @@ "limit": 100, "connections": [ { - "id": "con_GorX2vUJH0mAsHU6", + "id": "con_HMwRsUFaKS0pF37E", "options": { "mfa": { "active": true, @@ -5744,12 +7142,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", - "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf" + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", + "buBUEdedFCwOXr634CgnL78sJSI3w4Mi" ] }, { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_X0vz6EGKTOST5JmB", "options": { "email": true, "scope": [ @@ -5765,8 +7163,8 @@ "google-oauth2" ], "enabled_clients": [ - "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", - "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf" + "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", + "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX" ] } ] @@ -5786,8 +7184,8 @@ "limit": 100, "client_grants": [ { - "id": "cgr_DdIcHGb8Jr4BB8PH", - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", + "id": "cgr_pZor6d8WPxRjkctj", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5923,8 +7321,8 @@ ] }, { - "id": "cgr_oNgDuNEzPtjhCY0i", - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", + "id": "cgr_t3j1isctGZmOVylt", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6040,6 +7438,11 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", @@ -6056,12 +7459,66 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations" + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "read:client_credentials", + "create:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants" ] }, { - "id": "cgr_t3j1isctGZmOVylt", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "id": "cgr_tOa0EdfEV1OShllL", + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6177,11 +7634,6 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", @@ -6198,61 +7650,7 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "read:client_credentials", - "create:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants" + "delete:organization_invitations" ] } ] @@ -6349,7 +7747,7 @@ "subject": "deprecated" } ], - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6394,7 +7792,7 @@ "subject": "deprecated" } ], - "client_id": "EpCo0Vpnwxqp5mWxTWaQ528W9WBqn3zI", + "client_id": "brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6448,7 +7846,7 @@ } ], "allowed_origins": [], - "client_id": "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", + "client_id": "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6494,7 +7892,7 @@ "subject": "deprecated" } ], - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6547,7 +7945,7 @@ "subject": "deprecated" } ], - "client_id": "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", + "client_id": "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6607,7 +8005,7 @@ "subject": "deprecated" } ], - "client_id": "EQMvHgT0qHyH56H8QAxf7uOVp19hsfYU", + "client_id": "qcX3h4xaqisGinrUbmT2K176tbRbUVcl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6665,7 +8063,7 @@ "subject": "deprecated" } ], - "client_id": "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf", + "client_id": "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6723,27 +8121,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", - "body": { - "name": "org2", - "display_name": "Organization2" - }, - "status": 201, - "response": { - "id": "org_VyighZ4gMr3WCZIj", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", + "method": "PATCH", + "path": "/api/v2/organizations/org_9xZg9gRkVOCXeoTs", "body": { - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", @@ -6752,17 +8132,33 @@ }, "display_name": "Organization" }, - "status": 201, + "status": 200, "response": { - "id": "org_qfzY7GybUQh5dlU1", - "display_name": "Organization", - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", "primary": "#57ddff" } - } + }, + "id": "org_9xZg9gRkVOCXeoTs", + "display_name": "Organization", + "name": "org1" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/organizations/org_HpkU3x2QLHqDWWxs", + "body": { + "display_name": "Organization2" + }, + "status": 200, + "response": { + "id": "org_HpkU3x2QLHqDWWxs", + "display_name": "Organization2", + "name": "org2" }, "rawHeaders": [], "responseIsBinary": false @@ -7807,7 +9203,7 @@ "subject": "deprecated" } ], - "client_id": "JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", + "client_id": "YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7852,7 +9248,7 @@ "subject": "deprecated" } ], - "client_id": "EpCo0Vpnwxqp5mWxTWaQ528W9WBqn3zI", + "client_id": "brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7906,7 +9302,7 @@ } ], "allowed_origins": [], - "client_id": "VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", + "client_id": "buBUEdedFCwOXr634CgnL78sJSI3w4Mi", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7952,7 +9348,7 @@ "subject": "deprecated" } ], - "client_id": "VRE1521ajshlACX4lxKEyugk6M7ATazp", + "client_id": "BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8005,7 +9401,7 @@ "subject": "deprecated" } ], - "client_id": "UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", + "client_id": "eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8065,7 +9461,7 @@ "subject": "deprecated" } ], - "client_id": "EQMvHgT0qHyH56H8QAxf7uOVp19hsfYU", + "client_id": "qcX3h4xaqisGinrUbmT2K176tbRbUVcl", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8123,7 +9519,7 @@ "subject": "deprecated" } ], - "client_id": "y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf", + "client_id": "8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8147,7 +9543,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/JpFR00AhxjmXIy0yrICp10DL3IEXkEK8", + "path": "/api/v2/clients/YX5EYHMjw1uJhdUmOV0Z9x0JfzCHVlmH", "body": "", "status": 204, "response": "", @@ -8157,7 +9553,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/EpCo0Vpnwxqp5mWxTWaQ528W9WBqn3zI", + "path": "/api/v2/clients/brJqtxCZMsnTC2ZrTD39Iiz9CPA7xDjC", "body": "", "status": 204, "response": "", @@ -8167,7 +9563,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/VypxKV6xlPFdXdJgYuWdicT7uMG8ZXjU", + "path": "/api/v2/clients/buBUEdedFCwOXr634CgnL78sJSI3w4Mi", "body": "", "status": 204, "response": "", @@ -8177,7 +9573,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/VRE1521ajshlACX4lxKEyugk6M7ATazp", + "path": "/api/v2/clients/BvZtNpeJaXFl24qcDdemPi7zFUY2OTjB", "body": "", "status": 204, "response": "", @@ -8187,7 +9583,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/UClmdBuxHx8Oi7mKHma6goZBFZDrhmYu", + "path": "/api/v2/clients/eutt3EvtbJZhWSwEq74pvRbS1AjifVcV", "body": "", "status": 204, "response": "", @@ -8197,7 +9593,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/EQMvHgT0qHyH56H8QAxf7uOVp19hsfYU", + "path": "/api/v2/clients/qcX3h4xaqisGinrUbmT2K176tbRbUVcl", "body": "", "status": 204, "response": "", @@ -8207,7 +9603,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/y2udmVlXBO8UvIN8gJnzxOjhQQQpNUDf", + "path": "/api/v2/clients/8vWuFknl5bc1oSZ3uup9sR9lQ0sl4yBX", "body": "", "status": 204, "response": "", @@ -8278,7 +9674,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8334,7 +9730,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -8348,7 +9744,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -8362,7 +9758,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -8418,7 +9814,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -8432,7 +9828,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -8499,43 +9895,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "path": "/api/v2/attack-protection/brute-force-protection", "body": { "enabled": true, "shields": [ - "admin_notification", - "block" + "block", + "user_notification" ], + "mode": "count_per_identifier_and_ip", "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } - } + "max_attempts": 10 }, "status": 200, "response": { "enabled": true, "shields": [ - "admin_notification", - "block" + "block", + "user_notification" ], + "mode": "count_per_identifier_and_ip", "allowlist": [], - "stage": { - "pre-login": { - "max_attempts": 100, - "rate": 864000 - }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } - } + "max_attempts": 10 }, "rawHeaders": [], "responseIsBinary": false @@ -8568,27 +9948,43 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", "body": { "enabled": true, "shields": [ - "block", - "user_notification" + "admin_notification", + "block" ], - "mode": "count_per_identifier_and_ip", "allowlist": [], - "max_attempts": 10 + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } + } }, "status": 200, "response": { "enabled": true, "shields": [ - "block", - "user_notification" + "admin_notification", + "block" ], - "mode": "count_per_identifier_and_ip", "allowlist": [], - "max_attempts": 10 + "stage": { + "pre-login": { + "max_attempts": 100, + "rate": 864000 + }, + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } + } }, "rawHeaders": [], "responseIsBinary": false @@ -8601,14 +9997,25 @@ "status": 200, "response": [ { - "id": "lst_0000000000018639", + "id": "lst_0000000000018669", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + }, + { + "id": "lst_0000000000018670", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-bd22378f-eb63-46ad-9c53-b601689880ba/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-90dc452a-87e2-4ced-8280-c0beec6b3d04/auth0.logs" }, "filters": [ { @@ -8649,17 +10056,6 @@ } ], "isPriority": false - }, - { - "id": "lst_0000000000018638", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false } ], "rawHeaders": [], @@ -8668,7 +10064,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000018638", + "path": "/api/v2/log-streams/lst_0000000000018669", "body": "", "status": 204, "response": "", @@ -8678,7 +10074,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000018639", + "path": "/api/v2/log-streams/lst_0000000000018670", "body": "", "status": 204, "response": "", @@ -8764,7 +10160,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8832,7 +10228,7 @@ "limit": 100, "connections": [ { - "id": "con_GorX2vUJH0mAsHU6", + "id": "con_HMwRsUFaKS0pF37E", "options": { "mfa": { "active": true, @@ -8906,7 +10302,7 @@ "limit": 100, "connections": [ { - "id": "con_GorX2vUJH0mAsHU6", + "id": "con_HMwRsUFaKS0pF37E", "options": { "mfa": { "active": true, @@ -8971,11 +10367,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_GorX2vUJH0mAsHU6", + "path": "/api/v2/connections/con_HMwRsUFaKS0pF37E", "body": "", "status": 202, "response": { - "deleted_at": "2024-11-24T09:35:52.285Z" + "deleted_at": "2024-11-26T11:58:47.090Z" }, "rawHeaders": [], "responseIsBinary": false @@ -8989,7 +10385,7 @@ "strategy": "auth0", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr" ], "is_domain_connection": false, "options": { @@ -9007,7 +10403,7 @@ }, "status": 201, "response": { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -9034,8 +10430,8 @@ "name": "Username-Password-Authentication", "is_domain_connection": false, "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ "Username-Password-Authentication" @@ -9123,7 +10519,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9191,7 +10587,7 @@ "limit": 100, "connections": [ { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_X0vz6EGKTOST5JmB", "options": { "email": true, "scope": [ @@ -9209,7 +10605,7 @@ "enabled_clients": [] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -9239,8 +10635,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -9260,7 +10656,7 @@ "limit": 100, "connections": [ { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_X0vz6EGKTOST5JmB", "options": { "email": true, "scope": [ @@ -9278,7 +10674,7 @@ "enabled_clients": [] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -9308,8 +10704,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -9320,11 +10716,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_7CbwOJ6bXHUUVKx1", + "path": "/api/v2/connections/con_X0vz6EGKTOST5JmB", "body": "", "status": 202, "response": { - "deleted_at": "2024-11-24T09:35:53.962Z" + "deleted_at": "2024-11-26T11:58:48.995Z" }, "rawHeaders": [], "responseIsBinary": false @@ -9408,7 +10804,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9685,22 +11081,22 @@ "response": { "roles": [ { - "id": "rol_LYGx3QV7qsuVAryb", + "id": "rol_xW4IMAtrpGDM6XQS", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_jEi56FTNyRfGUojs", + "id": "rol_IKrCQ7OOr7YIyU75", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_3fsofDMyCFIeFMJA", + "id": "rol_bidT6bhPCDdnQ6CI", "name": "read_only", "description": "Read Only" }, { - "id": "rol_QoeOMtopW3R38wVo", + "id": "rol_39t36eUUcy0yM4aD", "name": "read_osnly", "description": "Readz Only" } @@ -9715,7 +11111,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_LYGx3QV7qsuVAryb/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_xW4IMAtrpGDM6XQS/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -9730,7 +11126,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_jEi56FTNyRfGUojs/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_IKrCQ7OOr7YIyU75/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -9745,7 +11141,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_3fsofDMyCFIeFMJA/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_bidT6bhPCDdnQ6CI/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -9760,7 +11156,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_QoeOMtopW3R38wVo/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_39t36eUUcy0yM4aD/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -9775,7 +11171,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_LYGx3QV7qsuVAryb", + "path": "/api/v2/roles/rol_xW4IMAtrpGDM6XQS", "body": "", "status": 200, "response": {}, @@ -9785,7 +11181,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_3fsofDMyCFIeFMJA", + "path": "/api/v2/roles/rol_bidT6bhPCDdnQ6CI", "body": "", "status": 200, "response": {}, @@ -9795,7 +11191,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_jEi56FTNyRfGUojs", + "path": "/api/v2/roles/rol_IKrCQ7OOr7YIyU75", "body": "", "status": 200, "response": {}, @@ -9805,7 +11201,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_QoeOMtopW3R38wVo", + "path": "/api/v2/roles/rol_39t36eUUcy0yM4aD", "body": "", "status": 200, "response": {}, @@ -9821,7 +11217,7 @@ "response": { "actions": [ { - "id": "a1f6fffd-6c61-47f4-9524-26d361c0e2fa", + "id": "ca7893f6-26b5-4a0c-8f06-c34d279fea28", "name": "My Custom Action", "supported_triggers": [ { @@ -9829,34 +11225,34 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:35:34.587998148Z", - "updated_at": "2024-11-24T09:35:34.595816664Z", + "created_at": "2024-11-26T11:47:41.999678541Z", + "updated_at": "2024-11-26T11:58:27.757237207Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node16", "status": "built", "secrets": [], "current_version": { - "id": "e79cf61a-d727-4efc-8457-424a79f49c57", + "id": "33047fea-6d07-42a3-ab4f-352d438de536", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node16", "status": "BUILT", - "number": 1, - "build_time": "2024-11-24T09:35:35.435771837Z", - "created_at": "2024-11-24T09:35:35.347078425Z", - "updated_at": "2024-11-24T09:35:35.437366639Z" + "number": 2, + "build_time": "2024-11-26T11:58:28.554549890Z", + "created_at": "2024-11-26T11:58:28.446625637Z", + "updated_at": "2024-11-26T11:58:28.556436880Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "e79cf61a-d727-4efc-8457-424a79f49c57", + "id": "33047fea-6d07-42a3-ab4f-352d438de536", "deployed": true, - "number": 1, - "built_at": "2024-11-24T09:35:35.435771837Z", + "number": 2, + "built_at": "2024-11-26T11:58:28.554549890Z", "secrets": [], "status": "built", - "created_at": "2024-11-24T09:35:35.347078425Z", - "updated_at": "2024-11-24T09:35:35.437366639Z", + "created_at": "2024-11-26T11:58:28.446625637Z", + "updated_at": "2024-11-26T11:58:28.556436880Z", "runtime": "node16", "supported_triggers": [ { @@ -9877,7 +11273,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/a1f6fffd-6c61-47f4-9524-26d361c0e2fa?force=true", + "path": "/api/v2/actions/actions/ca7893f6-26b5-4a0c-8f06-c34d279fea28?force=true", "body": "", "status": 204, "response": "", @@ -9906,7 +11302,7 @@ "response": { "organizations": [ { - "id": "org_qfzY7GybUQh5dlU1", + "id": "org_9xZg9gRkVOCXeoTs", "name": "org1", "display_name": "Organization", "branding": { @@ -9917,7 +11313,7 @@ } }, { - "id": "org_VyighZ4gMr3WCZIj", + "id": "org_HpkU3x2QLHqDWWxs", "name": "org2", "display_name": "Organization2" } @@ -10008,7 +11404,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10073,12 +11469,7 @@ "response": { "organizations": [ { - "id": "org_VyighZ4gMr3WCZIj", - "name": "org2", - "display_name": "Organization2" - }, - { - "id": "org_qfzY7GybUQh5dlU1", + "id": "org_9xZg9gRkVOCXeoTs", "name": "org1", "display_name": "Organization", "branding": { @@ -10087,6 +11478,11 @@ "primary": "#57ddff" } } + }, + { + "id": "org_HpkU3x2QLHqDWWxs", + "name": "org2", + "display_name": "Organization2" } ] }, @@ -10096,7 +11492,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VyighZ4gMr3WCZIj/enabled_connections", + "path": "/api/v2/organizations/org_9xZg9gRkVOCXeoTs/enabled_connections", "body": "", "status": 200, "response": [], @@ -10106,7 +11502,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_VyighZ4gMr3WCZIj/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_9xZg9gRkVOCXeoTs/client-grants?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { @@ -10121,7 +11517,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_qfzY7GybUQh5dlU1/enabled_connections", + "path": "/api/v2/organizations/org_HpkU3x2QLHqDWWxs/enabled_connections", "body": "", "status": 200, "response": [], @@ -10131,7 +11527,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_qfzY7GybUQh5dlU1/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_HpkU3x2QLHqDWWxs/client-grants?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { @@ -10155,7 +11551,7 @@ "limit": 100, "connections": [ { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -10185,8 +11581,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -10485,7 +11881,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10544,7 +11940,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_VyighZ4gMr3WCZIj", + "path": "/api/v2/organizations/org_9xZg9gRkVOCXeoTs", "body": "", "status": 204, "response": "", @@ -10554,7 +11950,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_qfzY7GybUQh5dlU1", + "path": "/api/v2/organizations/org_HpkU3x2QLHqDWWxs", "body": "", "status": 204, "response": "", @@ -11668,7 +13064,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11701,7 +13097,7 @@ "limit": 100, "connections": [ { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -11731,8 +13127,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -11752,7 +13148,7 @@ "limit": 100, "connections": [ { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -11782,8 +13178,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -11898,7 +13294,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -11928,22 +13324,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -11973,7 +13354,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -11988,7 +13369,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -12003,7 +13384,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -12018,7 +13399,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -12049,6 +13430,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/password_reset", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -12315,7 +13711,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", "body": "", "status": 200, "response": {}, @@ -12325,7 +13721,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "path": "/api/v2/guardian/factors/sms/providers/twilio", "body": "", "status": 200, "response": {}, @@ -12507,7 +13903,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12517,7 +13913,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12567,7 +13963,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-password/custom-text/en", + "path": "/api/v2/prompts/reset-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12577,7 +13973,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/reset-password/custom-text/en", + "path": "/api/v2/prompts/signup-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12587,7 +13983,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12597,7 +13993,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-push/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12607,7 +14003,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12677,7 +14073,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12687,7 +14083,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12727,7 +14123,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12737,7 +14133,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/common/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12747,7 +14143,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/prompts/common/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12767,7 +14163,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -12777,7 +14173,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -12787,7 +14183,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -12797,7 +14193,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -12807,7 +14203,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -12845,6 +14241,18 @@ "status": 200, "response": { "triggers": [ + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node12", + "node16" + ], + "default_runtime": "node16", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-login", "version": "v3", @@ -12863,18 +14271,6 @@ } ] }, - { - "id": "post-login", - "version": "v2", - "status": "DEPRECATED", - "runtimes": [ - "node12", - "node16" - ], - "default_runtime": "node16", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-login", "version": "v1", @@ -12910,19 +14306,6 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "pre-user-registration", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node16", - "node18-actions" - ], - "default_runtime": "node18-actions", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "pre-user-registration", "version": "v1", @@ -12935,13 +14318,15 @@ "compatible_triggers": [] }, { - "id": "post-user-registration", - "version": "v1", - "status": "DEPRECATED", + "id": "pre-user-registration", + "version": "v2", + "status": "CURRENT", "runtimes": [ - "node12" + "node12", + "node16", + "node18-actions" ], - "default_runtime": "node12", + "default_runtime": "node18-actions", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -12959,7 +14344,7 @@ "compatible_triggers": [] }, { - "id": "post-change-password", + "id": "post-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -12982,6 +14367,17 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "post-change-password", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "send-phone-message", "version": "v1", @@ -13299,7 +14695,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13477,8 +14873,16 @@ "response": { "limit": 100, "start": 0, - "total": 0, - "forms": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2024-11-26T11:58:18.187Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -13501,14 +14905,83 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms/ap_6JUSCU7qq1CravnoU6d6jr", + "body": "", + "status": 200, + "response": { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "languages": { + "primary": "en" + }, + "nodes": [ + { + "id": "step_ggeX", + "type": "STEP", + "coordinates": { + "x": 500, + "y": 0 + }, + "alias": "New step", + "config": { + "components": [ + { + "id": "full_name", + "category": "FIELD", + "type": "TEXT", + "label": "Your Name", + "required": true, + "sensitive": false, + "config": { + "multiline": false, + "min_length": 1, + "max_length": 50 + } + }, + { + "id": "next_button_3FbA", + "category": "BLOCK", + "type": "NEXT_BUTTON", + "config": { + "text": "Continue" + } + } + ], + "next_node": "$ending" + } + } + ], + "start": { + "next_node": "step_ggeX", + "coordinates": { + "x": 0, + "y": 0 + } + }, + "ending": { + "resume_flow": true, + "coordinates": { + "x": 1250, + "y": 0 + } + }, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2024-11-26T11:58:18.187Z" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -13516,14 +14989,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -13542,5 +15015,59 @@ }, "rawHeaders": [], "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "self_service_profiles": [ + { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2024-11-26T11:58:18.962Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } + } + ], + "start": 0, + "limit": 100, + "total": 1 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false } ] \ No newline at end of file diff --git a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json index 8717b128..12b267b5 100644 --- a/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json +++ b/test/e2e/recordings/should-deploy-without-deleting-resources-if-AUTH0_ALLOW_DELETE-is-false.json @@ -1108,7 +1108,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1134,15 +1134,20 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], - "app_type": "non_interactive", + "allowed_logout_urls": [], + "allowed_origins": [], + "app_type": "regular_web", "callbacks": [], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "is_first_party": true, @@ -1171,15 +1176,17 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "client_secret_post", + "web_origins": [] }, "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -1213,7 +1220,8 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1223,10 +1231,14 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, "rawHeaders": [], @@ -1237,20 +1249,14 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "allowed_origins": [], - "app_type": "regular_web", - "callbacks": [], - "client_aliases": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "app_type": "non_interactive", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "is_first_party": true, @@ -1260,14 +1266,6 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1279,29 +1277,19 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post", - "web_origins": [] + "token_endpoint_auth_method": "client_secret_post" }, "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1323,8 +1311,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1332,16 +1319,11 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, "rawHeaders": [], @@ -1352,11 +1334,12 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "Quickstarts API (Test Application)", + "name": "API Explorer Application", + "allowed_clients": [], "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, "cross_origin_auth": false, "custom_login_page_on": true, "grant_types": [ @@ -1369,6 +1352,14 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1387,12 +1378,20 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1414,7 +1413,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1422,6 +1421,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1493,7 +1493,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1516,15 +1516,9 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "app_type": "spa", - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, @@ -1532,7 +1526,8 @@ "grant_types": [ "authorization_code", "implicit", - "refresh_token" + "refresh_token", + "client_credentials" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -1549,35 +1544,28 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, - "token_endpoint_auth_method": "none", - "web_origins": [ - "http://localhost:3000" - ] + "token_endpoint_auth_method": "client_secret_post" }, "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Test SPA", + "name": "The Default App", "allowed_clients": [], - "allowed_logout_urls": [ - "http://localhost:3000" - ], - "callbacks": [ - "http://localhost:3000" - ], + "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -1589,16 +1577,17 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": false, "refresh_token": { - "expiration_type": "expiring", + "expiration_type": "non-expiring", "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "infinite_token_lifetime": false, - "infinite_idle_token_lifetime": false, - "rotation_type": "rotating" + "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "encrypted": true, @@ -1610,7 +1599,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1619,15 +1608,12 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "none", - "app_type": "spa", + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", - "refresh_token" - ], - "web_origins": [ - "http://localhost:3000" + "refresh_token", + "client_credentials" ], "custom_login_page_on": true }, @@ -1639,9 +1625,15 @@ "method": "POST", "path": "/api/v2/clients", "body": { - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "app_type": "spa", + "callbacks": [ + "http://localhost:3000" + ], "client_aliases": [], "client_metadata": {}, "cross_origin_auth": false, @@ -1649,8 +1641,7 @@ "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" ], "is_first_party": true, "is_token_endpoint_ip_header_trusted": false, @@ -1667,28 +1658,35 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, - "token_endpoint_auth_method": "client_secret_post" + "token_endpoint_auth_method": "none", + "web_origins": [ + "http://localhost:3000" + ] }, "status": 201, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "name": "Test SPA", "allowed_clients": [], - "callbacks": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, @@ -1700,17 +1698,16 @@ "enabled": false } }, - "oidc_conformant": false, + "oidc_conformant": true, "refresh_token": { - "expiration_type": "non-expiring", + "expiration_type": "expiring", "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, "token_lifetime": 2592000, "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" }, - "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "encrypted": true, @@ -1722,7 +1719,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1731,12 +1728,15 @@ "secret_encoded": false }, "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", + "token_endpoint_auth_method": "none", + "app_type": "spa", "grant_types": [ "authorization_code", "implicit", - "refresh_token", - "client_credentials" + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" ], "custom_login_page_on": true }, @@ -1827,7 +1827,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1886,7 +1886,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -1900,7 +1900,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -1914,7 +1914,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -1928,13 +1928,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -1942,7 +1942,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -1956,7 +1956,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -1970,13 +1970,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/otp", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1984,7 +1984,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -2056,32 +2056,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" - }, - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", "body": { "enabled": true, "shields": [ @@ -2152,6 +2127,31 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard" + }, + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2176,7 +2176,7 @@ }, "status": 200, "response": { - "id": "lst_0000000000018640", + "id": "lst_0000000000018671", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -2241,14 +2241,14 @@ }, "status": 200, "response": { - "id": "lst_0000000000018641", + "id": "lst_0000000000018672", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-12993afd-3504-4062-8c96-bfa6ff8bae0f/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-81e969f9-e5e0-42ff-b965-46c1f012667b/auth0.logs" }, "filters": [ { @@ -2293,6 +2293,368 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 100, + "start": 0, + "total": 0, + "flows": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 100, + "start": 0, + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2024-11-26T11:58:18.187Z" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 100, + "start": 0, + "total": 0, + "flows": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/forms/ap_6JUSCU7qq1CravnoU6d6jr", + "body": "", + "status": 200, + "response": { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "languages": { + "primary": "en" + }, + "nodes": [ + { + "id": "step_ggeX", + "type": "STEP", + "coordinates": { + "x": 500, + "y": 0 + }, + "alias": "New step", + "config": { + "components": [ + { + "id": "full_name", + "category": "FIELD", + "type": "TEXT", + "label": "Your Name", + "required": true, + "sensitive": false, + "config": { + "multiline": false, + "min_length": 1, + "max_length": 50 + } + }, + { + "id": "next_button_3FbA", + "category": "BLOCK", + "type": "NEXT_BUTTON", + "config": { + "text": "Continue" + } + } + ], + "next_node": "$ending" + } + } + ], + "start": { + "next_node": "step_ggeX", + "coordinates": { + "x": 0, + "y": 0 + } + }, + "ending": { + "resume_flow": true, + "coordinates": { + "x": 1250, + "y": 0 + } + }, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2024-11-26T11:58:18.187Z" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/forms/ap_6JUSCU7qq1CravnoU6d6jr", + "body": { + "name": "Blank-form", + "languages": { + "primary": "en" + }, + "nodes": [ + { + "id": "step_ggeX", + "type": "STEP", + "coordinates": { + "x": 500, + "y": 0 + }, + "alias": "New step", + "config": { + "components": [ + { + "id": "full_name", + "category": "FIELD", + "type": "TEXT", + "label": "Your Name", + "required": true, + "sensitive": false, + "config": { + "multiline": false, + "min_length": 1, + "max_length": 50 + } + }, + { + "id": "next_button_3FbA", + "category": "BLOCK", + "type": "NEXT_BUTTON", + "config": { + "text": "Continue" + } + } + ], + "next_node": "$ending" + } + } + ], + "start": { + "next_node": "step_ggeX", + "coordinates": { + "x": 0, + "y": 0 + } + }, + "ending": { + "resume_flow": true, + "coordinates": { + "x": 1250, + "y": 0 + } + } + }, + "status": 200, + "response": { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "languages": { + "primary": "en" + }, + "nodes": [ + { + "id": "step_ggeX", + "type": "STEP", + "coordinates": { + "x": 500, + "y": 0 + }, + "alias": "New step", + "config": { + "components": [ + { + "id": "full_name", + "category": "FIELD", + "type": "TEXT", + "label": "Your Name", + "required": true, + "sensitive": false, + "config": { + "multiline": false, + "min_length": 1, + "max_length": 50 + } + }, + { + "id": "next_button_3FbA", + "category": "BLOCK", + "type": "NEXT_BUTTON", + "config": { + "text": "Continue" + } + } + ], + "next_node": "$ending" + } + } + ], + "start": { + "next_node": "step_ggeX", + "coordinates": { + "x": 0, + "y": 0 + } + }, + "ending": { + "resume_flow": true, + "coordinates": { + "x": 1250, + "y": 0 + } + }, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2024-11-26T11:59:41.630Z" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "self_service_profiles": [ + { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2024-11-26T11:58:18.962Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } + } + ], + "start": 0, + "limit": 100, + "total": 1 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim", + "body": { + "name": "self-service-profile-1", + "allowed_strategies": [ + "google-apps", + "okta" + ], + "branding": { + "colors": { + "primary": "#19aecc" + } + }, + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ] + }, + "status": 200, + "response": { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2024-11-26T11:59:42.684Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2372,7 +2734,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2392,8 +2754,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -2425,7 +2788,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2435,31 +2799,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -2479,8 +2838,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2488,28 +2846,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -2529,7 +2890,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2537,6 +2898,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -2570,7 +2932,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2623,7 +2985,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2683,7 +3045,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2741,7 +3103,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2809,7 +3171,7 @@ "limit": 100, "connections": [ { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -2839,8 +3201,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -2860,7 +3222,7 @@ "limit": 100, "connections": [ { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -2890,8 +3252,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -2907,8 +3269,8 @@ "name": "boo-baz-db-connection-test", "strategy": "auth0", "enabled_clients": [ - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o" + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX" ], "is_domain_connection": false, "options": { @@ -2952,7 +3314,7 @@ }, "status": 201, "response": { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -3005,8 +3367,8 @@ "name": "boo-baz-db-connection-test", "is_domain_connection": false, "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ], "realms": [ "boo-baz-db-connection-test" @@ -3094,7 +3456,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3114,8 +3476,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -3147,7 +3510,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3157,31 +3521,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3201,8 +3560,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3210,28 +3568,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -3251,7 +3612,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3259,6 +3620,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -3292,7 +3654,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3345,7 +3707,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3405,7 +3767,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3463,7 +3825,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3531,7 +3893,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -3587,12 +3949,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -3622,8 +3984,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -3643,7 +4005,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -3699,12 +4061,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -3734,8 +4096,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -3751,8 +4113,8 @@ "name": "google-oauth2", "strategy": "google-oauth2", "enabled_clients": [ - "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o" + "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX" ], "is_domain_connection": false, "options": { @@ -3766,7 +4128,7 @@ }, "status": 201, "response": { - "id": "con_CWNUrzDmQZZfi7vb", + "id": "con_qZ7nJ5d7apMreXk3", "options": { "email": true, "scope": [ @@ -3779,8 +4141,8 @@ "name": "google-oauth2", "is_domain_connection": false, "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia" ], "realms": [ "google-oauth2" @@ -3922,7 +4284,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3942,8 +4304,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -3975,7 +4338,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3985,31 +4349,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4029,8 +4388,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4038,28 +4396,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -4079,7 +4440,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4087,6 +4448,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -4120,7 +4482,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4173,7 +4535,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4233,7 +4595,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4291,7 +4653,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4564,7 +4926,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -4701,8 +5063,8 @@ }, "status": 201, "response": { - "id": "cgr_6JqigIMy6QRJRrmq", - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "id": "cgr_V3giQF68LJXByRfw", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -4845,7 +5207,7 @@ "method": "POST", "path": "/api/v2/client-grants", "body": { - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -4982,8 +5344,8 @@ }, "status": 201, "response": { - "id": "cgr_H7pRSlLdxlEg9zkT", - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "id": "cgr_OG50WDinUlfCKusO", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -5146,7 +5508,7 @@ }, "status": 200, "response": { - "id": "rol_CQwwEeYZo4EHdNM8", + "id": "rol_sGFDzhUUcIS1tb6v", "name": "Admin", "description": "Can read and write things" }, @@ -5163,7 +5525,7 @@ }, "status": 200, "response": { - "id": "rol_qADoEGyAAXb2hd8o", + "id": "rol_1fJ92vIKhcUIC9U9", "name": "Reader", "description": "Can only read things" }, @@ -5180,7 +5542,7 @@ }, "status": 200, "response": { - "id": "rol_DEUqhnx3IdX1OvwR", + "id": "rol_hxGgBY7aGgZ2FULw", "name": "read_only", "description": "Read Only" }, @@ -5197,7 +5559,7 @@ }, "status": 200, "response": { - "id": "rol_yuTddFor5QtjwGjE", + "id": "rol_cCj9e1N22zq0P3fj", "name": "read_osnly", "description": "Readz Only" }, @@ -5236,7 +5598,7 @@ }, "status": 201, "response": { - "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "id": "eaf9036d-3c33-41d1-8ed8-d40ccdfd90ff", "name": "My Custom Action", "supported_triggers": [ { @@ -5244,8 +5606,8 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:36:49.560827847Z", - "updated_at": "2024-11-24T09:36:49.568301808Z", + "created_at": "2024-11-26T11:59:49.267614397Z", + "updated_at": "2024-11-26T11:59:49.280595388Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node16", @@ -5265,7 +5627,7 @@ "response": { "actions": [ { - "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "id": "eaf9036d-3c33-41d1-8ed8-d40ccdfd90ff", "name": "My Custom Action", "supported_triggers": [ { @@ -5273,8 +5635,8 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:36:49.560827847Z", - "updated_at": "2024-11-24T09:36:49.568301808Z", + "created_at": "2024-11-26T11:59:49.267614397Z", + "updated_at": "2024-11-26T11:59:49.280595388Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node16", @@ -5292,19 +5654,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/31c47b71-7929-451d-b409-cea6f84e8c6c/deploy", + "path": "/api/v2/actions/actions/eaf9036d-3c33-41d1-8ed8-d40ccdfd90ff/deploy", "body": "", "status": 200, "response": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "id": "04cc961a-5c03-449c-a3ab-197d213ca198", "deployed": false, "number": 1, "secrets": [], "status": "built", - "created_at": "2024-11-24T09:36:50.248058068Z", - "updated_at": "2024-11-24T09:36:50.248058068Z", + "created_at": "2024-11-26T11:59:50.005878914Z", + "updated_at": "2024-11-26T11:59:50.005878914Z", "runtime": "node16", "supported_triggers": [ { @@ -5313,7 +5675,7 @@ } ], "action": { - "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "id": "eaf9036d-3c33-41d1-8ed8-d40ccdfd90ff", "name": "My Custom Action", "supported_triggers": [ { @@ -5321,8 +5683,8 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:36:49.560827847Z", - "updated_at": "2024-11-24T09:36:49.560827847Z", + "created_at": "2024-11-26T11:59:49.267614397Z", + "updated_at": "2024-11-26T11:59:49.267614397Z", "all_changes_deployed": false } }, @@ -5423,7 +5785,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5443,8 +5805,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -5476,7 +5839,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5486,31 +5850,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -5530,8 +5889,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5539,28 +5897,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -5580,7 +5941,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5588,6 +5949,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -5621,7 +5983,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5674,7 +6036,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5734,7 +6096,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5792,7 +6154,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5872,7 +6234,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -5928,12 +6290,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_CWNUrzDmQZZfi7vb", + "id": "con_qZ7nJ5d7apMreXk3", "options": { "email": true, "scope": [ @@ -5949,12 +6311,12 @@ "google-oauth2" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -5984,8 +6346,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -6072,7 +6434,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6092,8 +6454,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -6125,7 +6488,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6135,31 +6499,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -6179,8 +6538,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6188,28 +6546,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -6229,7 +6590,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6237,6 +6598,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -6270,7 +6632,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6323,7 +6685,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6383,7 +6745,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6441,7 +6803,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6509,8 +6871,8 @@ "limit": 100, "client_grants": [ { - "id": "cgr_6JqigIMy6QRJRrmq", - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "id": "cgr_OG50WDinUlfCKusO", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6646,8 +7008,8 @@ ] }, { - "id": "cgr_H7pRSlLdxlEg9zkT", - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "id": "cgr_V3giQF68LJXByRfw", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -6983,6 +7345,23 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/organizations", + "body": { + "name": "org2", + "display_name": "Organization2" + }, + "status": 201, + "response": { + "id": "org_2aYK8Ut1Zd8isTKi", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", @@ -6999,7 +7378,7 @@ }, "status": 201, "response": { - "id": "org_4gH9RpeaPbRBvZRT", + "id": "org_dHzZZkig293CEsmM", "display_name": "Organization", "name": "org1", "branding": { @@ -7012,23 +7391,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", - "body": { - "name": "org2", - "display_name": "Organization2" - }, - "status": 201, - "response": { - "id": "org_66YNdkkJCAeUppBb", - "display_name": "Organization2", - "name": "org2" - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -8059,7 +8421,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8079,8 +8441,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -8112,7 +8475,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8122,31 +8486,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -8166,8 +8525,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8175,28 +8533,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -8216,7 +8577,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8224,6 +8585,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -8257,7 +8619,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8310,7 +8672,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8370,7 +8732,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8428,7 +8790,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8452,7 +8814,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "path": "/api/v2/clients/F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "body": { "name": "Default App", "callbacks": [], @@ -8510,7 +8872,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8575,7 +8937,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -8589,7 +8951,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -8603,7 +8965,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -8617,7 +8979,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -8631,7 +8993,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -8645,7 +9007,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -8734,6 +9096,34 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -8778,34 +9168,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", - "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -8814,14 +9176,14 @@ "status": 200, "response": [ { - "id": "lst_0000000000018641", + "id": "lst_0000000000018672", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-12993afd-3504-4062-8c96-bfa6ff8bae0f/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-81e969f9-e5e0-42ff-b965-46c1f012667b/auth0.logs" }, "filters": [ { @@ -8864,7 +9226,7 @@ "isPriority": false }, { - "id": "lst_0000000000018640", + "id": "lst_0000000000018671", "name": "Suspended DD Log Stream", "type": "datadog", "status": "active", @@ -8957,7 +9319,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -8977,8 +9339,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -9010,7 +9373,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9020,31 +9384,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -9064,8 +9423,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9073,28 +9431,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -9114,7 +9475,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9122,6 +9483,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -9155,7 +9517,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9208,7 +9570,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9268,7 +9630,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9326,7 +9688,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9394,7 +9756,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -9450,12 +9812,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -9485,8 +9847,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -9506,7 +9868,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -9562,12 +9924,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -9597,8 +9959,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -9609,11 +9971,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_LfK7XQoeBuYSjg2x", + "path": "/api/v2/connections/con_UCP0P6eBfgU2jKwe", "body": "", "status": 200, "response": { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -9640,8 +10002,8 @@ "name": "Username-Password-Authentication", "is_domain_connection": false, "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ], "realms": [ "Username-Password-Authentication" @@ -9653,11 +10015,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_LfK7XQoeBuYSjg2x", + "path": "/api/v2/connections/con_UCP0P6eBfgU2jKwe", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr" ], "is_domain_connection": false, "options": { @@ -9688,7 +10050,7 @@ }, "status": 200, "response": { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -9716,7 +10078,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr" ], "realms": [ "Username-Password-Authentication" @@ -9804,7 +10166,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9824,8 +10186,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -9857,7 +10220,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9867,31 +10231,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -9911,8 +10270,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9920,28 +10278,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -9961,7 +10322,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9969,6 +10330,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -10002,7 +10364,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10055,7 +10417,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10115,7 +10477,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10173,7 +10535,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10241,7 +10603,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -10297,12 +10659,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_CWNUrzDmQZZfi7vb", + "id": "con_qZ7nJ5d7apMreXk3", "options": { "email": true, "scope": [ @@ -10318,12 +10680,12 @@ "google-oauth2" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -10353,8 +10715,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -10374,7 +10736,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -10430,12 +10792,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_CWNUrzDmQZZfi7vb", + "id": "con_qZ7nJ5d7apMreXk3", "options": { "email": true, "scope": [ @@ -10451,12 +10813,12 @@ "google-oauth2" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -10486,8 +10848,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -10574,7 +10936,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10594,8 +10956,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -10627,7 +10990,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10637,31 +11001,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -10681,8 +11040,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10690,28 +11048,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -10731,7 +11092,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10739,6 +11100,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -10772,7 +11134,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10825,7 +11187,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10885,7 +11247,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -10943,7 +11305,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11011,8 +11373,8 @@ "limit": 100, "client_grants": [ { - "id": "cgr_6JqigIMy6QRJRrmq", - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "id": "cgr_OG50WDinUlfCKusO", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -11148,8 +11510,8 @@ ] }, { - "id": "cgr_H7pRSlLdxlEg9zkT", - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "id": "cgr_V3giQF68LJXByRfw", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -11494,22 +11856,22 @@ "response": { "roles": [ { - "id": "rol_CQwwEeYZo4EHdNM8", + "id": "rol_sGFDzhUUcIS1tb6v", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_qADoEGyAAXb2hd8o", + "id": "rol_1fJ92vIKhcUIC9U9", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_DEUqhnx3IdX1OvwR", + "id": "rol_hxGgBY7aGgZ2FULw", "name": "read_only", "description": "Read Only" }, { - "id": "rol_yuTddFor5QtjwGjE", + "id": "rol_cCj9e1N22zq0P3fj", "name": "read_osnly", "description": "Readz Only" } @@ -11524,7 +11886,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_CQwwEeYZo4EHdNM8/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_sGFDzhUUcIS1tb6v/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11539,7 +11901,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_qADoEGyAAXb2hd8o/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_1fJ92vIKhcUIC9U9/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11554,7 +11916,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_DEUqhnx3IdX1OvwR/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_hxGgBY7aGgZ2FULw/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11569,7 +11931,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_yuTddFor5QtjwGjE/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_cCj9e1N22zq0P3fj/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -11590,7 +11952,7 @@ "response": { "actions": [ { - "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "id": "eaf9036d-3c33-41d1-8ed8-d40ccdfd90ff", "name": "My Custom Action", "supported_triggers": [ { @@ -11598,34 +11960,34 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:36:49.560827847Z", - "updated_at": "2024-11-24T09:36:49.568301808Z", + "created_at": "2024-11-26T11:59:49.267614397Z", + "updated_at": "2024-11-26T11:59:49.280595388Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node16", "status": "built", "secrets": [], "current_version": { - "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "id": "04cc961a-5c03-449c-a3ab-197d213ca198", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node16", "status": "BUILT", "number": 1, - "build_time": "2024-11-24T09:36:50.322291916Z", - "created_at": "2024-11-24T09:36:50.248058068Z", - "updated_at": "2024-11-24T09:36:50.323234361Z" + "build_time": "2024-11-26T11:59:50.088943110Z", + "created_at": "2024-11-26T11:59:50.005878914Z", + "updated_at": "2024-11-26T11:59:50.089879301Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "id": "04cc961a-5c03-449c-a3ab-197d213ca198", "deployed": true, "number": 1, - "built_at": "2024-11-24T09:36:50.322291916Z", + "built_at": "2024-11-26T11:59:50.088943110Z", "secrets": [], "status": "built", - "created_at": "2024-11-24T09:36:50.248058068Z", - "updated_at": "2024-11-24T09:36:50.323234361Z", + "created_at": "2024-11-26T11:59:50.005878914Z", + "updated_at": "2024-11-26T11:59:50.089879301Z", "runtime": "node16", "supported_triggers": [ { @@ -11652,7 +12014,7 @@ "response": { "actions": [ { - "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "id": "eaf9036d-3c33-41d1-8ed8-d40ccdfd90ff", "name": "My Custom Action", "supported_triggers": [ { @@ -11660,34 +12022,34 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:36:49.560827847Z", - "updated_at": "2024-11-24T09:36:49.568301808Z", + "created_at": "2024-11-26T11:59:49.267614397Z", + "updated_at": "2024-11-26T11:59:49.280595388Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node16", "status": "built", "secrets": [], "current_version": { - "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "id": "04cc961a-5c03-449c-a3ab-197d213ca198", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node16", "status": "BUILT", "number": 1, - "build_time": "2024-11-24T09:36:50.322291916Z", - "created_at": "2024-11-24T09:36:50.248058068Z", - "updated_at": "2024-11-24T09:36:50.323234361Z" + "build_time": "2024-11-26T11:59:50.088943110Z", + "created_at": "2024-11-26T11:59:50.005878914Z", + "updated_at": "2024-11-26T11:59:50.089879301Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "id": "04cc961a-5c03-449c-a3ab-197d213ca198", "deployed": true, "number": 1, - "built_at": "2024-11-24T09:36:50.322291916Z", + "built_at": "2024-11-26T11:59:50.088943110Z", "secrets": [], "status": "built", - "created_at": "2024-11-24T09:36:50.248058068Z", - "updated_at": "2024-11-24T09:36:50.323234361Z", + "created_at": "2024-11-26T11:59:50.005878914Z", + "updated_at": "2024-11-26T11:59:50.089879301Z", "runtime": "node16", "supported_triggers": [ { @@ -11714,7 +12076,7 @@ "response": { "organizations": [ { - "id": "org_4gH9RpeaPbRBvZRT", + "id": "org_dHzZZkig293CEsmM", "name": "org1", "display_name": "Organization", "branding": { @@ -11725,7 +12087,7 @@ } }, { - "id": "org_66YNdkkJCAeUppBb", + "id": "org_2aYK8Ut1Zd8isTKi", "name": "org2", "display_name": "Organization2" } @@ -11816,7 +12178,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11836,8 +12198,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -11869,7 +12232,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11879,31 +12243,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -11923,8 +12282,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11932,28 +12290,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -11973,7 +12334,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -11981,6 +12342,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -12014,7 +12376,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12067,7 +12429,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12127,7 +12489,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12185,7 +12547,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -12250,7 +12612,12 @@ "response": { "organizations": [ { - "id": "org_4gH9RpeaPbRBvZRT", + "id": "org_2aYK8Ut1Zd8isTKi", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_dHzZZkig293CEsmM", "name": "org1", "display_name": "Organization", "branding": { @@ -12259,11 +12626,6 @@ "primary": "#57ddff" } } - }, - { - "id": "org_66YNdkkJCAeUppBb", - "name": "org2", - "display_name": "Organization2" } ] }, @@ -12273,7 +12635,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/enabled_connections", + "path": "/api/v2/organizations/org_2aYK8Ut1Zd8isTKi/enabled_connections", "body": "", "status": 200, "response": [], @@ -12283,7 +12645,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_2aYK8Ut1Zd8isTKi/client-grants?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { @@ -12298,7 +12660,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/enabled_connections", + "path": "/api/v2/organizations/org_dHzZZkig293CEsmM/enabled_connections", "body": "", "status": 200, "response": [], @@ -12308,7 +12670,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_dHzZZkig293CEsmM/client-grants?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { @@ -12332,7 +12694,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -12388,12 +12750,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_CWNUrzDmQZZfi7vb", + "id": "con_qZ7nJ5d7apMreXk3", "options": { "email": true, "scope": [ @@ -12409,12 +12771,12 @@ "google-oauth2" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -12444,8 +12806,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -12456,500 +12818,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, - "client_grants": [ - { - "id": "cgr_6JqigIMy6QRJRrmq", - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ] - }, - { - "id": "cgr_H7pRSlLdxlEg9zkT", - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations" - ] - }, - { - "id": "cgr_t3j1isctGZmOVylt", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", - "scope": [ - "read:client_grants", - "create:client_grants", - "delete:client_grants", - "update:client_grants", - "read:users", - "update:users", - "delete:users", - "create:users", - "read:users_app_metadata", - "update:users_app_metadata", - "delete:users_app_metadata", - "create:users_app_metadata", - "read:user_custom_blocks", - "create:user_custom_blocks", - "delete:user_custom_blocks", - "create:user_tickets", - "read:clients", - "update:clients", - "delete:clients", - "create:clients", - "read:client_keys", - "update:client_keys", - "delete:client_keys", - "create:client_keys", - "read:connections", - "update:connections", - "delete:connections", - "create:connections", - "read:resource_servers", - "update:resource_servers", - "delete:resource_servers", - "create:resource_servers", - "read:device_credentials", - "update:device_credentials", - "delete:device_credentials", - "create:device_credentials", - "read:rules", - "update:rules", - "delete:rules", - "create:rules", - "read:rules_configs", - "update:rules_configs", - "delete:rules_configs", - "read:hooks", - "update:hooks", - "delete:hooks", - "create:hooks", - "read:actions", - "update:actions", - "delete:actions", - "create:actions", - "read:email_provider", - "update:email_provider", - "delete:email_provider", - "create:email_provider", - "blacklist:tokens", - "read:stats", - "read:insights", - "read:tenant_settings", - "update:tenant_settings", - "read:logs", - "read:logs_users", - "read:shields", - "create:shields", - "update:shields", - "delete:shields", - "read:anomaly_blocks", - "delete:anomaly_blocks", - "update:triggers", - "read:triggers", - "read:grants", - "delete:grants", - "read:guardian_factors", - "update:guardian_factors", - "read:guardian_enrollments", - "delete:guardian_enrollments", - "create:guardian_enrollment_tickets", - "read:user_idp_tokens", - "create:passwords_checking_job", - "delete:passwords_checking_job", - "read:custom_domains", - "delete:custom_domains", - "create:custom_domains", - "update:custom_domains", - "read:email_templates", - "create:email_templates", - "update:email_templates", - "read:mfa_policies", - "update:mfa_policies", - "read:roles", - "create:roles", - "delete:roles", - "update:roles", - "read:prompts", - "update:prompts", - "read:branding", - "update:branding", - "delete:branding", - "read:log_streams", - "create:log_streams", - "delete:log_streams", - "update:log_streams", - "create:signing_keys", - "read:signing_keys", - "update:signing_keys", - "read:limits", - "update:limits", - "create:role_members", - "read:role_members", - "delete:role_members", - "read:entitlements", - "read:attack_protection", - "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", - "read:organizations", - "update:organizations", - "create:organizations", - "delete:organizations", - "create:organization_members", - "read:organization_members", - "delete:organization_members", - "create:organization_connections", - "read:organization_connections", - "update:organization_connections", - "delete:organization_connections", - "create:organization_member_roles", - "read:organization_member_roles", - "delete:organization_member_roles", - "create:organization_invitations", - "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "read:client_credentials", - "create:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 10, - "start": 0, - "limit": 100, - "clients": [ + "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -13018,7 +12894,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13038,8 +12914,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -13071,7 +12948,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13081,31 +12959,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -13125,8 +12998,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13134,28 +13006,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -13175,7 +13050,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13183,6 +13058,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -13216,7 +13092,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13269,7 +13145,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13329,7 +13205,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -13351,92 +13227,578 @@ "custom_login_page_on": true }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, - "cross_origin_auth": false, - "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "client_aliases": [], - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "client_grants": [ + { + "id": "cgr_OG50WDinUlfCKusO", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + { + "id": "cgr_V3giQF68LJXByRfw", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] }, { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true + "id": "cgr_t3j1isctGZmOVylt", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "read:client_credentials", + "create:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants" + ] } ] }, @@ -14550,7 +14912,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14570,8 +14932,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -14603,7 +14966,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14613,31 +14977,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -14657,8 +15016,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14666,28 +15024,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -14707,7 +15068,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14715,6 +15076,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -14748,7 +15110,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14801,7 +15163,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14861,7 +15223,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14919,7 +15281,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -14952,7 +15314,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -15008,12 +15370,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -15043,8 +15405,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -15064,7 +15426,7 @@ "limit": 100, "connections": [ { - "id": "con_OiHsL2KAL6DRL39M", + "id": "con_ikOAFhCk9Azqyakq", "options": { "mfa": { "active": true, @@ -15120,12 +15482,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK" ] }, { - "id": "con_CWNUrzDmQZZfi7vb", + "id": "con_qZ7nJ5d7apMreXk3", "options": { "email": true, "scope": [ @@ -15141,12 +15503,12 @@ "google-oauth2" ], "enabled_clients": [ - "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", - "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" + "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", + "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia" ] }, { - "id": "con_LfK7XQoeBuYSjg2x", + "id": "con_UCP0P6eBfgU2jKwe", "options": { "mfa": { "active": true, @@ -15176,8 +15538,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" ] } ] @@ -15292,7 +15654,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -15307,14 +15669,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/welcome_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "from": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", + "syntax": "liquid", + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -15322,7 +15688,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -15337,7 +15703,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -15367,18 +15733,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/enrollment_email", "body": "", - "status": 200, + "status": 404, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", - "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -15386,7 +15748,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -15401,7 +15763,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -15416,7 +15778,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -15431,7 +15793,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -15455,8 +15817,8 @@ "limit": 100, "client_grants": [ { - "id": "cgr_6JqigIMy6QRJRrmq", - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "id": "cgr_OG50WDinUlfCKusO", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -15592,8 +15954,8 @@ ] }, { - "id": "cgr_H7pRSlLdxlEg9zkT", - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "id": "cgr_V3giQF68LJXByRfw", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -16056,22 +16418,22 @@ "response": { "roles": [ { - "id": "rol_CQwwEeYZo4EHdNM8", + "id": "rol_sGFDzhUUcIS1tb6v", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_qADoEGyAAXb2hd8o", + "id": "rol_1fJ92vIKhcUIC9U9", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_DEUqhnx3IdX1OvwR", + "id": "rol_hxGgBY7aGgZ2FULw", "name": "read_only", "description": "Read Only" }, { - "id": "rol_yuTddFor5QtjwGjE", + "id": "rol_cCj9e1N22zq0P3fj", "name": "read_osnly", "description": "Readz Only" } @@ -16086,7 +16448,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_CQwwEeYZo4EHdNM8/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_sGFDzhUUcIS1tb6v/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -16101,7 +16463,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_qADoEGyAAXb2hd8o/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_1fJ92vIKhcUIC9U9/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -16116,7 +16478,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_DEUqhnx3IdX1OvwR/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_hxGgBY7aGgZ2FULw/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -16131,7 +16493,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_yuTddFor5QtjwGjE/permissions?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_cCj9e1N22zq0P3fj/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { @@ -16336,7 +16698,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16346,7 +16708,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16356,7 +16718,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-push/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16426,7 +16788,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16436,7 +16798,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16476,7 +16838,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/organizations/custom-text/en", + "path": "/api/v2/prompts/invitation/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16486,7 +16848,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/invitation/custom-text/en", + "path": "/api/v2/prompts/organizations/custom-text/en", "body": "", "status": 200, "response": {}, @@ -16506,7 +16868,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -16516,7 +16878,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-password/partials", "body": "", "status": 200, "response": {}, @@ -16526,7 +16888,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -16582,7 +16944,7 @@ "response": { "actions": [ { - "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "id": "eaf9036d-3c33-41d1-8ed8-d40ccdfd90ff", "name": "My Custom Action", "supported_triggers": [ { @@ -16590,34 +16952,34 @@ "version": "v2" } ], - "created_at": "2024-11-24T09:36:49.560827847Z", - "updated_at": "2024-11-24T09:36:49.568301808Z", + "created_at": "2024-11-26T11:59:49.267614397Z", + "updated_at": "2024-11-26T11:59:49.280595388Z", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], "runtime": "node16", "status": "built", "secrets": [], "current_version": { - "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "id": "04cc961a-5c03-449c-a3ab-197d213ca198", "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "runtime": "node16", "status": "BUILT", "number": 1, - "build_time": "2024-11-24T09:36:50.322291916Z", - "created_at": "2024-11-24T09:36:50.248058068Z", - "updated_at": "2024-11-24T09:36:50.323234361Z" + "build_time": "2024-11-26T11:59:50.088943110Z", + "created_at": "2024-11-26T11:59:50.005878914Z", + "updated_at": "2024-11-26T11:59:50.089879301Z" }, "deployed_version": { "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", "dependencies": [], - "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "id": "04cc961a-5c03-449c-a3ab-197d213ca198", "deployed": true, "number": 1, - "built_at": "2024-11-24T09:36:50.322291916Z", + "built_at": "2024-11-26T11:59:50.088943110Z", "secrets": [], "status": "built", - "created_at": "2024-11-24T09:36:50.248058068Z", - "updated_at": "2024-11-24T09:36:50.323234361Z", + "created_at": "2024-11-26T11:59:50.005878914Z", + "updated_at": "2024-11-26T11:59:50.089879301Z", "runtime": "node16", "supported_triggers": [ { @@ -16645,13 +17007,12 @@ "triggers": [ { "id": "post-login", - "version": "v2", + "version": "v1", "status": "DEPRECATED", "runtimes": [ - "node12", - "node16" + "node12" ], - "default_runtime": "node16", + "default_runtime": "node12", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -16675,12 +17036,13 @@ }, { "id": "post-login", - "version": "v1", + "version": "v2", "status": "DEPRECATED", "runtimes": [ - "node12" + "node12", + "node16" ], - "default_runtime": "node12", + "default_runtime": "node16", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -16710,25 +17072,25 @@ }, { "id": "pre-user-registration", - "version": "v1", - "status": "DEPRECATED", + "version": "v2", + "status": "CURRENT", "runtimes": [ - "node12" + "node12", + "node16", + "node18-actions" ], - "default_runtime": "node12", + "default_runtime": "node18-actions", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { "id": "pre-user-registration", - "version": "v2", - "status": "CURRENT", + "version": "v1", + "status": "DEPRECATED", "runtimes": [ - "node12", - "node16", - "node18-actions" + "node12" ], - "default_runtime": "node18-actions", + "default_runtime": "node12", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -17012,7 +17374,7 @@ "response": { "organizations": [ { - "id": "org_4gH9RpeaPbRBvZRT", + "id": "org_dHzZZkig293CEsmM", "name": "org1", "display_name": "Organization", "branding": { @@ -17023,7 +17385,7 @@ } }, { - "id": "org_66YNdkkJCAeUppBb", + "id": "org_2aYK8Ut1Zd8isTKi", "name": "org2", "display_name": "Organization2" } @@ -17114,7 +17476,7 @@ "subject": "deprecated" } ], - "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "client_id": "F4TnFWr07FX4aI07BFHGVX1SNyWmHmwr", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17134,8 +17496,9 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "API Explorer Application", + "name": "Node App", "allowed_clients": [], + "allowed_logout_urls": [], "callbacks": [], "client_metadata": {}, "cross_origin_auth": false, @@ -17167,7 +17530,8 @@ "subject": "deprecated" } ], - "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "allowed_origins": [], + "client_id": "PrCtHezkm94bTOGHBM9ne7eJKWP48EvK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17177,31 +17541,26 @@ }, "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", + "app_type": "regular_web", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], + "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Node App", - "allowed_clients": [], - "allowed_logout_urls": [], - "callbacks": [], - "client_metadata": {}, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -17221,8 +17580,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "client_id": "21mgSXNXltCQiMuUbrdVWqOjXsxNuQpv", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17230,28 +17588,31 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, - "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "regular_web", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Quickstarts API (Test Application)", - "client_metadata": { - "foo": "bar" - }, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -17271,7 +17632,7 @@ "subject": "deprecated" } ], - "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "client_id": "fNksW1QM5Ad04MszwLvNdDGOEplgEVGO", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17279,6 +17640,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -17312,7 +17674,7 @@ "subject": "deprecated" } ], - "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "client_id": "2QkgCXRYqQb0nmXAtXClZEGYUuRA0KPR", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17365,7 +17727,7 @@ "subject": "deprecated" } ], - "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "client_id": "sNyX3CU7171MqGSaBBP5AkqxFmnSRgia", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17425,7 +17787,7 @@ "subject": "deprecated" } ], - "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "client_id": "fkMmwuGPV47WgchZJ6riVPU9Ruu4A6zd", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17483,7 +17845,7 @@ "subject": "deprecated" } ], - "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "client_id": "89U9C063Rpaf6xGNjkKFFnHvpOSPmocX", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -17548,7 +17910,12 @@ "response": { "organizations": [ { - "id": "org_4gH9RpeaPbRBvZRT", + "id": "org_2aYK8Ut1Zd8isTKi", + "name": "org2", + "display_name": "Organization2" + }, + { + "id": "org_dHzZZkig293CEsmM", "name": "org1", "display_name": "Organization", "branding": { @@ -17557,11 +17924,6 @@ "primary": "#57ddff" } } - }, - { - "id": "org_66YNdkkJCAeUppBb", - "name": "org2", - "display_name": "Organization2" } ] }, @@ -17571,7 +17933,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/enabled_connections", + "path": "/api/v2/organizations/org_2aYK8Ut1Zd8isTKi/enabled_connections", "body": "", "status": 200, "response": [], @@ -17581,7 +17943,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_2aYK8Ut1Zd8isTKi/client-grants?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { @@ -17596,7 +17958,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/enabled_connections", + "path": "/api/v2/organizations/org_dHzZZkig293CEsmM/enabled_connections", "body": "", "status": 200, "response": [], @@ -17606,7 +17968,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/client-grants?page=0&per_page=100&include_totals=true", + "path": "/api/v2/organizations/org_dHzZZkig293CEsmM/client-grants?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { @@ -17618,6 +17980,26 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/breached-password-detection", + "body": "", + "status": 200, + "response": { + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17664,26 +18046,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/attack-protection/breached-password-detection", - "body": "", - "status": 200, - "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - } - } - }, - "rawHeaders": [], - "responseIsBinary": false - }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -17692,14 +18054,25 @@ "status": 200, "response": [ { - "id": "lst_0000000000018641", + "id": "lst_0000000000018671", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + }, + { + "id": "lst_0000000000018672", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-12993afd-3504-4062-8c96-bfa6ff8bae0f/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-81e969f9-e5e0-42ff-b965-46c1f012667b/auth0.logs" }, "filters": [ { @@ -17740,17 +18113,6 @@ } ], "isPriority": false - }, - { - "id": "lst_0000000000018640", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - }, - "isPriority": false } ], "rawHeaders": [], @@ -17805,8 +18167,16 @@ "response": { "limit": 100, "start": 0, - "total": 0, - "forms": [] + "total": 1, + "forms": [ + { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "flow_count": 0, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2024-11-26T11:59:41.630Z" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -17814,14 +18184,83 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms/ap_6JUSCU7qq1CravnoU6d6jr", + "body": "", + "status": 200, + "response": { + "id": "ap_6JUSCU7qq1CravnoU6d6jr", + "name": "Blank-form", + "languages": { + "primary": "en" + }, + "nodes": [ + { + "id": "step_ggeX", + "type": "STEP", + "coordinates": { + "x": 500, + "y": 0 + }, + "alias": "New step", + "config": { + "components": [ + { + "id": "full_name", + "category": "FIELD", + "type": "TEXT", + "label": "Your Name", + "required": true, + "sensitive": false, + "config": { + "multiline": false, + "min_length": 1, + "max_length": 50 + } + }, + { + "id": "next_button_3FbA", + "category": "BLOCK", + "type": "NEXT_BUTTON", + "config": { + "text": "Continue" + } + } + ], + "next_node": "$ending" + } + } + ], + "start": { + "next_node": "step_ggeX", + "coordinates": { + "x": 0, + "y": 0 + } + }, + "ending": { + "resume_flow": true, + "coordinates": { + "x": 1250, + "y": 0 + } + }, + "created_at": "2024-11-26T11:58:18.187Z", + "updated_at": "2024-11-26T11:59:41.630Z" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, "total": 0, - "connections": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -17829,14 +18268,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, "total": 0, - "flows": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -17855,5 +18294,59 @@ }, "rawHeaders": [], "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "self_service_profiles": [ + { + "id": "ssp_f6qt3syGauLKbSgt6GRLim", + "name": "self-service-profile-1", + "description": "test description self-service-profile-1", + "user_attributes": [ + { + "name": "email", + "description": "Email of the User", + "is_optional": false + }, + { + "name": "name", + "description": "Name of the User", + "is_optional": true + } + ], + "allowed_strategies": [ + "google-apps", + "okta" + ], + "created_at": "2024-11-26T11:58:18.962Z", + "updated_at": "2024-11-26T11:59:42.684Z", + "branding": { + "colors": { + "primary": "#19aecc" + } + } + } + ], + "start": 0, + "limit": 100, + "total": 1 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles/ssp_f6qt3syGauLKbSgt6GRLim/custom-text/en/get-started", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false } ] \ No newline at end of file diff --git a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json index 20c78fb9..bd12a110 100644 --- a/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-and-deploy-without-throwing-an-error.json @@ -957,7 +957,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -1029,7 +1029,7 @@ "subject": "deprecated" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1044,201 +1044,376 @@ "client_credentials" ], "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?per_page=100&page=0&include_totals=true&strategy=auth0", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "connections": [ + }, { - "id": "con_pLHGc8ZQSY99vFHF", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, - "brute_force_protection": true + "facebook": { + "enabled": false + } }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 2, - "start": 0, - "limit": 100, - "connections": [ + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, { - "id": "con_7CbwOJ6bXHUUVKx1", - "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" }, - "strategy": "google-oauth2", - "name": "google-oauth2", - "is_domain_connection": false, - "realms": [ - "google-oauth2" + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, { - "id": "con_pLHGc8ZQSY99vFHF", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/tenants/settings", - "body": "", - "status": 200, - "response": { - "allowed_logout_urls": [ - "https://mycompany.org/logoutCallback" - ], - "change_password": { - "enabled": true, - "html": "Change Password\n" - }, - "enabled_locales": [ - "en" - ], - "error_page": { - "html": "Error Page\n", - "show_log_link": false, - "url": "https://mycompany.org/error" - }, - "flags": { - "allow_changing_enable_sso": false, - "allow_legacy_delegation_grant_types": true, - "allow_legacy_ro_grant_types": true, - "change_pwd_flow_v1": false, - "disable_impersonation": true, - "enable_apis_section": false, - "enable_client_connections": false, - "enable_custom_domain_in_emails": false, - "enable_dynamic_client_registration": false, - "enable_legacy_logs_search_v2": false, - "enable_public_signup_user_exists_error": true, - "enable_sso": true, - "new_universal_login_experience_enabled": true, - "universal_login": true, - "use_scope_descriptions_for_consent": false, - "revoke_refresh_token_grant": false, - "disable_clickjack_protection_headers": false, - "enable_pipeline2": false - }, - "friendly_name": "My Test Tenant", - "guardian_mfa_page": { - "enabled": true, - "html": "MFA\n" - }, - "idle_session_lifetime": 1, - "picture_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png", - "sandbox_version": "12", - "session_lifetime": 3.0166666666666666, - "support_email": "support@mycompany.org", - "support_url": "https://mycompany.org/support", - "universal_login": { - "colors": { - "primary": "#F8F8F2", - "page_background": "#222221" + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true } - }, - "session_cookie": { - "mode": "non-persistent" - }, - "sandbox_versions_available": [ - "18", - "16", - "12" ] }, "rawHeaders": [], @@ -1247,77 +1422,244 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", - "body": "", - "status": 200, - "response": { - "name": "mandrill", - "credentials": {}, - "default_from_address": "auth0-user@auth0.com", - "enabled": false - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/connections?per_page=100&page=0&include_totals=true&strategy=auth0", "body": "", "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "from": "", - "subject": "", - "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/reset_email", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/password_reset", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], + "total": 2, + "start": 0, + "limit": 100, + "connections": [ + { + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + ] + }, + { + "id": "con_LfK7XQoeBuYSjg2x", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + ] + } + ] + }, + "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/connections?per_page=100&page=0&include_totals=true", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "total": 3, + "start": 0, + "limit": 100, + "connections": [ + { + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + ] + }, + { + "id": "con_CWNUrzDmQZZfi7vb", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" + ] + }, + { + "id": "con_LfK7XQoeBuYSjg2x", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "realms": [ + "Username-Password-Authentication" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + ] + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1325,14 +1667,70 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/tenants/settings", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "allowed_logout_urls": [ + "https://mycompany.org/logoutCallback" + ], + "change_password": { + "enabled": true, + "html": "Change Password\n" + }, + "enabled_locales": [ + "en" + ], + "error_page": { + "html": "Error Page\n", + "show_log_link": false, + "url": "https://mycompany.org/error" + }, + "flags": { + "allow_changing_enable_sso": false, + "allow_legacy_delegation_grant_types": true, + "allow_legacy_ro_grant_types": true, + "change_pwd_flow_v1": false, + "disable_impersonation": true, + "enable_apis_section": false, + "enable_client_connections": false, + "enable_custom_domain_in_emails": false, + "enable_dynamic_client_registration": false, + "enable_legacy_logs_search_v2": false, + "enable_public_signup_user_exists_error": true, + "enable_sso": true, + "new_universal_login_experience_enabled": true, + "universal_login": true, + "use_scope_descriptions_for_consent": false, + "revoke_refresh_token_grant": false, + "disable_clickjack_protection_headers": false, + "enable_pipeline2": false + }, + "friendly_name": "My Test Tenant", + "guardian_mfa_page": { + "enabled": true, + "html": "MFA\n" + }, + "idle_session_lifetime": 1, + "picture_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png", + "sandbox_version": "12", + "session_lifetime": 3.0166666666666666, + "support_email": "support@mycompany.org", + "support_url": "https://mycompany.org/support", + "universal_login": { + "colors": { + "primary": "#F8F8F2", + "page_background": "#222221" + } + }, + "session_cookie": { + "mode": "non-persistent" + }, + "sandbox_versions_available": [ + "18", + "16", + "12" + ] }, "rawHeaders": [], "responseIsBinary": false @@ -1340,14 +1738,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/emails/provider?fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address&include_fields=true", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "name": "mandrill", + "credentials": {}, + "default_from_address": "auth0-user@auth0.com", + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1355,14 +1753,17 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/verify_email", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "from": "", + "subject": "", + "syntax": "liquid", + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -1370,7 +1771,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1385,7 +1786,67 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/verify_email_by_code", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/stolen_credentials", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/reset_email", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/password_reset", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -1419,7 +1880,37 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/user_invitation", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/blocked_account", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -1438,13 +1929,13 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 3, "start": 0, "limit": 100, "client_grants": [ { - "id": "cgr_t3j1isctGZmOVylt", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "id": "cgr_6JqigIMy6QRJRrmq", + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -1560,11 +2051,6 @@ "read:entitlements", "read:attack_protection", "update:attack_protection", - "read:organizations_summary", - "create:authentication_methods", - "read:authentication_methods", - "update:authentication_methods", - "delete:authentication_methods", "read:organizations", "update:organizations", "create:organizations", @@ -1581,151 +2067,430 @@ "delete:organization_member_roles", "create:organization_invitations", "read:organization_invitations", - "delete:organization_invitations", - "read:scim_config", - "create:scim_config", - "update:scim_config", - "delete:scim_config", - "create:scim_token", - "read:scim_token", - "delete:scim_token", - "delete:phone_providers", - "create:phone_providers", - "read:phone_providers", - "update:phone_providers", - "delete:phone_templates", - "create:phone_templates", - "read:phone_templates", - "update:phone_templates", - "create:encryption_keys", - "read:encryption_keys", - "update:encryption_keys", - "delete:encryption_keys", - "read:sessions", - "delete:sessions", - "read:refresh_tokens", - "delete:refresh_tokens", - "create:self_service_profiles", - "read:self_service_profiles", - "update:self_service_profiles", - "delete:self_service_profiles", - "create:sso_access_tickets", - "read:forms", - "update:forms", - "delete:forms", - "create:forms", - "read:flows", - "update:flows", - "delete:flows", - "create:flows", - "read:flows_vault", - "read:flows_vault_connections", - "update:flows_vault_connections", - "delete:flows_vault_connections", - "create:flows_vault_connections", - "read:flows_executions", - "delete:flows_executions", - "read:connections_options", - "update:connections_options", - "read:self_service_profile_custom_texts", - "update:self_service_profile_custom_texts", - "read:client_credentials", - "create:client_credentials", - "update:client_credentials", - "delete:client_credentials", - "read:organization_client_grants", - "create:organization_client_grants", - "delete:organization_client_grants" + "delete:organization_invitations" ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors", - "body": "", - "status": 200, - "response": [ - { - "name": "sms", - "enabled": false, - "trial_expired": false - }, - { - "name": "push-notification", - "enabled": false, - "trial_expired": false - }, - { - "name": "otp", - "enabled": false, - "trial_expired": false - }, - { - "name": "email", - "enabled": false, - "trial_expired": false - }, - { - "name": "duo", - "enabled": false, - "trial_expired": false - }, - { - "name": "webauthn-roaming", - "enabled": false, - "trial_expired": false - }, - { - "name": "webauthn-platform", - "enabled": false, - "trial_expired": false - }, - { - "name": "recovery-code", - "enabled": false, - "trial_expired": false - } - ], - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/push-notification/providers/sns", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/sms/providers/twilio", - "body": "", - "status": 200, - "response": {}, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/guardian/factors/sms/templates", - "body": "", - "status": 200, - "response": { - "enrollment_message": "enroll foo", - "verification_message": "verify foo" - }, - "rawHeaders": [], - "responseIsBinary": false + }, + { + "id": "cgr_H7pRSlLdxlEg9zkT", + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + { + "id": "cgr_t3j1isctGZmOVylt", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations_summary", + "create:authentication_methods", + "read:authentication_methods", + "update:authentication_methods", + "delete:authentication_methods", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations", + "read:scim_config", + "create:scim_config", + "update:scim_config", + "delete:scim_config", + "create:scim_token", + "read:scim_token", + "delete:scim_token", + "delete:phone_providers", + "create:phone_providers", + "read:phone_providers", + "update:phone_providers", + "delete:phone_templates", + "create:phone_templates", + "read:phone_templates", + "update:phone_templates", + "create:encryption_keys", + "read:encryption_keys", + "update:encryption_keys", + "delete:encryption_keys", + "read:sessions", + "delete:sessions", + "read:refresh_tokens", + "delete:refresh_tokens", + "create:self_service_profiles", + "read:self_service_profiles", + "update:self_service_profiles", + "delete:self_service_profiles", + "create:sso_access_tickets", + "read:forms", + "update:forms", + "delete:forms", + "create:forms", + "read:flows", + "update:flows", + "delete:flows", + "create:flows", + "read:flows_vault", + "read:flows_vault_connections", + "update:flows_vault_connections", + "delete:flows_vault_connections", + "create:flows_vault_connections", + "read:flows_executions", + "delete:flows_executions", + "read:connections_options", + "update:connections_options", + "read:self_service_profile_custom_texts", + "update:self_service_profile_custom_texts", + "read:client_credentials", + "create:client_credentials", + "update:client_credentials", + "delete:client_credentials", + "read:organization_client_grants", + "create:organization_client_grants", + "delete:organization_client_grants" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors", + "body": "", + "status": 200, + "response": [ + { + "name": "sms", + "enabled": false, + "trial_expired": false + }, + { + "name": "push-notification", + "enabled": false, + "trial_expired": false + }, + { + "name": "otp", + "enabled": false, + "trial_expired": false + }, + { + "name": "email", + "enabled": false, + "trial_expired": false + }, + { + "name": "duo", + "enabled": false, + "trial_expired": false + }, + { + "name": "webauthn-roaming", + "enabled": false, + "trial_expired": false + }, + { + "name": "webauthn-platform", + "enabled": false, + "trial_expired": false + }, + { + "name": "recovery-code", + "enabled": false, + "trial_expired": false + } + ], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/push-notification/providers/sns", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/sms/providers/twilio", + "body": "", + "status": 200, + "response": {}, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/sms/templates", + "body": "", + "status": 200, + "response": { + "enrollment_message": "enroll foo", + "verification_message": "verify foo" + }, + "rawHeaders": [], + "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", @@ -1768,7 +2533,88 @@ "body": "", "status": 200, "response": { - "roles": [], + "roles": [ + { + "id": "rol_CQwwEeYZo4EHdNM8", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_qADoEGyAAXb2hd8o", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_DEUqhnx3IdX1OvwR", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_yuTddFor5QtjwGjE", + "name": "read_osnly", + "description": "Readz Only" + } + ], + "start": 0, + "limit": 100, + "total": 4 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_CQwwEeYZo4EHdNM8/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_qADoEGyAAXb2hd8o/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_DEUqhnx3IdX1OvwR/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_yuTddFor5QtjwGjE/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], "start": 0, "limit": 100, "total": 0 @@ -1889,7 +2735,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1899,7 +2745,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1909,7 +2755,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1929,7 +2775,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/signup-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1939,7 +2785,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2009,7 +2855,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2019,7 +2865,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-phone/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2079,7 +2925,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2089,7 +2935,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2139,7 +2985,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -2149,7 +2995,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -2179,7 +3025,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -2189,7 +3035,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -2213,7 +3059,56 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2024-11-24T09:36:49.560827847Z", + "updated_at": "2024-11-24T09:36:49.568301808Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node16", + "status": "built", + "secrets": [], + "current_version": { + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node16", + "status": "BUILT", + "number": 1, + "build_time": "2024-11-24T09:36:50.322291916Z", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "deployed": true, + "number": 1, + "built_at": "2024-11-24T09:36:50.322291916Z", + "secrets": [], + "status": "built", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -2294,25 +3189,25 @@ }, { "id": "pre-user-registration", - "version": "v1", - "status": "DEPRECATED", + "version": "v2", + "status": "CURRENT", "runtimes": [ - "node12" + "node12", + "node16", + "node18-actions" ], - "default_runtime": "node12", + "default_runtime": "node18-actions", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { "id": "pre-user-registration", - "version": "v2", - "status": "CURRENT", + "version": "v1", + "status": "DEPRECATED", "runtimes": [ - "node12", - "node16", - "node18-actions" + "node12" ], - "default_runtime": "node18-actions", + "default_runtime": "node12", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -2587,6 +3482,38 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations?include_totals=true", + "body": "", + "status": 200, + "response": { + "organizations": [ + { + "id": "org_4gH9RpeaPbRBvZRT", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_66YNdkkJCAeUppBb", + "name": "org2", + "display_name": "Organization2" + } + ], + "start": 0, + "limit": 50, + "total": 2 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2594,7 +3521,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -2612,11 +3539,304 @@ "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2624,7 +3844,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2632,9 +3852,12 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -2643,18 +3866,91 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -2666,7 +3962,7 @@ "subject": "deprecated" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2674,10 +3970,10 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", "client_credentials" ], "custom_login_page_on": true @@ -2725,14 +4021,28 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/organizations?include_totals=true&take=50", "body": "", "status": 200, "response": { - "organizations": [], - "start": 0, - "limit": 50, - "total": 0 + "organizations": [ + { + "id": "org_4gH9RpeaPbRBvZRT", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_66YNdkkJCAeUppBb", + "name": "org2", + "display_name": "Organization2" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -2740,11 +4050,24 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", + "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/client-grants?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "organizations": [] + "client_grants": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2752,18 +4075,24 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/client-grants?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 + "client_grants": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2788,6 +4117,25 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": "", + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2821,7 +4169,69 @@ "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [], + "response": [ + { + "id": "lst_0000000000018641", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-12993afd-3504-4062-8c96-bfa6ff8bae0f/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + }, + { + "id": "lst_0000000000018640", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + } + ], "rawHeaders": [], "responseIsBinary": false }, @@ -2925,6 +4335,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "self_service_profiles": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3916,141 +5341,1086 @@ "value": "read:self_service_profile_custom_texts" }, { - "description": "Update Self Service Profile Custom Texts", - "value": "update:self_service_profile_custom_texts" + "description": "Update Self Service Profile Custom Texts", + "value": "update:self_service_profile_custom_texts" + }, + { + "value": "read:client_credentials", + "description": "Read Client Credentials" + }, + { + "value": "create:client_credentials", + "description": "Create Client Credentials" + }, + { + "value": "update:client_credentials", + "description": "Update Client Credentials" + }, + { + "value": "delete:client_credentials", + "description": "delete Client Credentials" + }, + { + "value": "read:organization_client_grants", + "description": "Read Organization Client Grants" + }, + { + "value": "create:organization_client_grants", + "description": "Create Organization Client Grants" + }, + { + "value": "delete:organization_client_grants", + "description": "Delete Organization Client Grants" + } + ], + "is_system": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?page=0&per_page=100&include_totals=true&is_global=false", + "body": "", + "status": 200, + "response": { + "total": 9, + "start": 0, + "limit": 100, + "clients": [ + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "read:client_credentials", - "description": "Read Client Credentials" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "create:client_credentials", - "description": "Create Client Credentials" - }, + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "update:client_credentials", - "description": "Update Client Credentials" - }, + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "delete:client_credentials", - "description": "delete Client Credentials" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "read:organization_client_grants", - "description": "Read Organization Client Grants" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "create:organization_client_grants", - "description": "Create Organization Client Grants" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "value": "delete:organization_client_grants", - "description": "Delete Organization Client Grants" + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" } ], - "is_system": true + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "body": { + "name": "API Explorer Application", + "allowed_clients": [], + "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "body": { + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "allowed_origins": [], + "app_type": "regular_web", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post", + "web_origins": [] + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "body": { + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } - ] + ], + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?page=0&per_page=100&include_totals=true&is_global=false", - "body": "", + "method": "PATCH", + "path": "/api/v2/clients/A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "body": { + "name": "Quickstarts API (Test Application)", + "app_type": "non_interactive", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, "status": 200, "response": { - "total": 2, - "start": 0, - "limit": 100, - "clients": [ + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", - "is_first_party": true, - "oidc_conformant": true, - "sso_disabled": false, - "cross_origin_auth": false, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, - "rotation_type": "non-rotating" - }, - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "token_endpoint_auth_method": "client_secret_post", - "app_type": "non_interactive", - "grant_types": [ - "client_credentials" - ], - "custom_login_page_on": true + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "body": { + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "app_type": "spa", + "callbacks": [ + "http://localhost:3000" + ], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "none", + "web_origins": [ + "http://localhost:3000" + ] + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "body": { + "name": "Terraform Provider", + "app_type": "non_interactive", + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } - ] + ], + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true }, "rawHeaders": [], "responseIsBinary": false @@ -4058,10 +6428,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/I155fGKAI34tbclxLYjEwUYngPU53Blu", + "path": "/api/v2/clients/DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", "body": { - "name": "Default App", + "name": "The Default App", + "allowed_clients": [], "callbacks": [], + "client_aliases": [], + "client_metadata": {}, "cross_origin_auth": false, "cross_origin_authentication": false, "custom_login_page_on": true, @@ -4077,7 +6450,15 @@ "alg": "RS256", "lifetime_in_seconds": 36000 }, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -4087,18 +6468,30 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, - "sso_disabled": false + "sso": false, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" }, "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "The Default App", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -4108,6 +6501,7 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4117,7 +6511,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4125,6 +6519,8 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -4136,6 +6532,107 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "body": { + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "app_type": "non_interactive", + "callbacks": [], + "client_aliases": [], + "client_metadata": {}, + "cross_origin_auth": false, + "cross_origin_authentication": false, + "custom_login_page_on": true, + "grant_types": [ + "client_credentials" + ], + "is_first_party": true, + "is_token_endpoint_ip_header_trusted": false, + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000 + }, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "token_endpoint_auth_method": "client_secret_post" + }, + "status": 200, + "response": { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -4190,7 +6687,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -4204,7 +6701,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -4232,7 +6729,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -4246,7 +6743,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -4274,7 +6771,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -4358,27 +6855,29 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/attack-protection/breached-password-detection", "body": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + } + } }, "status": 200, "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 + "enabled": false, + "shields": [], + "admin_notification_frequency": [], + "method": "standard", + "stage": { + "pre-user-registration": { + "shields": [] + } + } }, "rawHeaders": [], "responseIsBinary": false @@ -4418,52 +6917,240 @@ "max_attempts": 100, "rate": 864000 }, - "pre-user-registration": { - "max_attempts": 50, - "rate": 1200 - } + "pre-user-registration": { + "max_attempts": 50, + "rate": 1200 + } + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/attack-protection/brute-force-protection", + "body": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "status": 200, + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/log-streams", + "body": "", + "status": 200, + "response": [ + { + "id": "lst_0000000000018641", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-12993afd-3504-4062-8c96-bfa6ff8bae0f/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + }, + { + "id": "lst_0000000000018640", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false } - }, + ], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", + "path": "/api/v2/log-streams/lst_0000000000018641", "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] + "name": "Amazon EventBridge", + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" } - } + ], + "isPriority": false, + "status": "active" }, "status": 200, "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] + "id": "lst_0000000000018641", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-12993afd-3504-4062-8c96-bfa6ff8bae0f/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" } - } + ], + "isPriority": false }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/log-streams", - "body": "", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000018640", + "body": { + "name": "Suspended DD Log Stream", + "isPriority": false, + "sink": { + "datadogRegion": "us" + }, + "status": "active" + }, "status": 200, - "response": [], + "response": { + "id": "lst_0000000000018640", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + }, "rawHeaders": [], "responseIsBinary": false }, @@ -4495,14 +7182,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, "total": 0, - "flows": [] + "forms": [] }, "rawHeaders": [], "responseIsBinary": false @@ -4510,14 +7197,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, "total": 0, - "forms": [] + "flows": [] }, "rawHeaders": [], "responseIsBinary": false @@ -4582,6 +7269,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "self_service_profiles": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -4589,7 +7291,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -4597,11 +7299,250 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -4611,7 +7552,8 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4619,7 +7561,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4638,11 +7580,21 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "The Default App", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -4652,6 +7604,7 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -4661,7 +7614,7 @@ "subject": "deprecated" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4669,6 +7622,8 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -4677,6 +7632,122 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": true, @@ -4724,12 +7795,73 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + ] + }, + { + "id": "con_LfK7XQoeBuYSjg2x", "options": { "mfa": { "active": true, @@ -4759,8 +7891,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" ] } ] @@ -4775,12 +7907,73 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + ] + }, + { + "id": "con_LfK7XQoeBuYSjg2x", "options": { "mfa": { "active": true, @@ -4810,8 +8003,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" ] } ] @@ -4822,23 +8015,86 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_pLHGc8ZQSY99vFHF", + "path": "/api/v2/connections/con_LfK7XQoeBuYSjg2x", + "body": "", + "status": 200, + "response": { + "id": "con_LfK7XQoeBuYSjg2x", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + ], + "realms": [ + "Username-Password-Authentication" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections/con_OiHsL2KAL6DRL39M", "body": "", "status": 200, "response": { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_OiHsL2KAL6DRL39M", "options": { "mfa": { "active": true, "return_enroll_settings": true }, - "passwordPolicy": "good", + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", "passkey_options": { "challenge_ui": "both", "local_enrollment_enabled": true, "progressive_enrollment_enabled": true }, + "password_history": { + "size": 5, + "enable": false + }, "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, "authentication_methods": { "passkey": { "enabled": false @@ -4847,17 +8103,24 @@ "enabled": true } }, - "brute_force_protection": true + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true }, "strategy": "auth0", - "name": "Username-Password-Authentication", + "name": "boo-baz-db-connection-test", "is_domain_connection": false, "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" ], "realms": [ - "Username-Password-Authentication" + "boo-baz-db-connection-test" ] }, "rawHeaders": [], @@ -4866,11 +8129,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_pLHGc8ZQSY99vFHF", + "path": "/api/v2/connections/con_LfK7XQoeBuYSjg2x", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "I155fGKAI34tbclxLYjEwUYngPU53Blu" + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" ], "is_domain_connection": false, "options": { @@ -4901,7 +8164,7 @@ }, "status": 200, "response": { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_LfK7XQoeBuYSjg2x", "options": { "mfa": { "active": true, @@ -4929,7 +8192,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "I155fGKAI34tbclxLYjEwUYngPU53Blu" + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" ], "realms": [ "Username-Password-Authentication" @@ -4938,6 +8201,133 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_OiHsL2KAL6DRL39M", + "body": { + "enabled_clients": [ + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o" + ], + "is_domain_connection": false, + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "realms": [ + "boo-baz-db-connection-test" + ] + }, + "status": 200, + "response": { + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "enabled_clients": [ + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o" + ], + "realms": [ + "boo-baz-db-connection-test" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -4945,7 +8335,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -4953,11 +8343,250 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -4967,7 +8596,8 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -4975,7 +8605,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4994,11 +8624,21 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "The Default App", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -5008,6 +8648,7 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -5017,7 +8658,7 @@ "subject": "deprecated" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5025,6 +8666,8 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -5033,6 +8676,122 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": true, @@ -5080,12 +8839,73 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 3, "start": 0, "limit": 100, "connections": [ { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + ] + }, + { + "id": "con_CWNUrzDmQZZfi7vb", "options": { "email": true, "scope": [ @@ -5101,12 +8921,12 @@ "google-oauth2" ], "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" ] }, { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_LfK7XQoeBuYSjg2x", "options": { "mfa": { "active": true, @@ -5136,8 +8956,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" ] } ] @@ -5152,12 +8972,73 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 3, "start": 0, "limit": 100, "connections": [ { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + ] + }, + { + "id": "con_CWNUrzDmQZZfi7vb", "options": { "email": true, "scope": [ @@ -5173,12 +9054,12 @@ "google-oauth2" ], "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" ] }, { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_LfK7XQoeBuYSjg2x", "options": { "mfa": { "active": true, @@ -5208,8 +9089,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" ] } ] @@ -5220,11 +9101,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_7CbwOJ6bXHUUVKx1", + "path": "/api/v2/connections/con_CWNUrzDmQZZfi7vb", "body": { "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "I155fGKAI34tbclxLYjEwUYngPU53Blu" + "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o" ], "is_domain_connection": false, "options": { @@ -5238,7 +9119,7 @@ }, "status": 200, "response": { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_CWNUrzDmQZZfi7vb", "options": { "email": true, "scope": [ @@ -5251,8 +9132,8 @@ "name": "google-oauth2", "is_domain_connection": false, "enabled_clients": [ - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "I155fGKAI34tbclxLYjEwUYngPU53Blu" + "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o" ], "realms": [ "google-oauth2" @@ -5264,27 +9145,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", - "enabled": false, + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "enabled": true, "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600 + "urlLifetimeInSeconds": 432000 }, "status": 200, "response": { - "template": "welcome_email", - "body": "\n \n

Welcome!

\n \n\n", + "template": "verify_email", + "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", "from": "", - "resultUrl": "https://example.com/welcome", - "subject": "Welcome", + "subject": "", "syntax": "liquid", - "urlLifetimeInSeconds": 3600, - "enabled": false + "urlLifetimeInSeconds": 432000, + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -5292,25 +9171,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/welcome_email", "body": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", - "enabled": true, + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", + "enabled": false, "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000 + "urlLifetimeInSeconds": 3600 }, "status": 200, "response": { - "template": "verify_email", - "body": "\n \n \n \n \n
\n \n \n \n
\n \n \n

\n\n

Welcome to {{ application.name}}!

\n\n

\n Thank you for signing up. Please verify your email address by clicking the following\n link:\n

\n\n

Confirm my account

\n\n

\n If you are having any issues with your account, please don’t hesitate to contact us\n by replying to this mail.\n

\n\n
\n Haha!!!\n
\n\n {{ application.name }}\n\n

\n
\n \n If you did not make this request, please contact us by replying to this mail.\n

\n
\n \n \n \n
\n \n\n", + "template": "welcome_email", + "body": "\n \n

Welcome!

\n \n\n", "from": "", - "subject": "", + "resultUrl": "https://example.com/welcome", + "subject": "Welcome", "syntax": "liquid", - "urlLifetimeInSeconds": 432000, - "enabled": true + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -5322,7 +9203,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -5330,11 +9211,421 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -5344,7 +9635,8 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5352,7 +9644,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5360,6 +9652,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -5368,99 +9661,330 @@ "custom_login_page_on": true }, { - "tenant": "auth0-deploy-cli-e2e", - "global": false, - "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": false, - "is_first_party": true, - "oidc_conformant": true, - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "sso_disabled": false, - "cross_origin_authentication": false, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "callback_url_template": false, - "client_secret": "[REDACTED]", - "jwt_configuration": { - "alg": "RS256", - "lifetime_in_seconds": 36000, - "secret_encoded": false - }, - "grant_types": [ - "authorization_code", - "implicit", - "refresh_token", - "client_credentials" - ], - "custom_login_page_on": true + "tenant": "auth0-deploy-cli-e2e", + "global": true, + "callbacks": [], + "is_first_party": true, + "name": "All Applications", + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "owners": [ + "mr|samlp|okta|will.vedder@auth0.com", + "mr|google-oauth2|102002633619863830825", + "mr|samlp|okta|frederik.prijck@auth0.com", + "mr|google-oauth2|109614534713742077035", + "mr|google-oauth2|116771660953104383819" + ], + "custom_login_page": "TEST123\n", + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "client_grants": [ + { + "id": "cgr_6JqigIMy6QRJRrmq", + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + { + "id": "cgr_H7pRSlLdxlEg9zkT", + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] }, - { - "tenant": "auth0-deploy-cli-e2e", - "global": true, - "callbacks": [], - "is_first_party": true, - "name": "All Applications", - "refresh_token": { - "expiration_type": "non-expiring", - "leeway": 0, - "infinite_token_lifetime": true, - "infinite_idle_token_lifetime": true, - "token_lifetime": 2592000, - "idle_token_lifetime": 1296000, - "rotation_type": "non-rotating" - }, - "owners": [ - "mr|samlp|okta|will.vedder@auth0.com", - "mr|google-oauth2|102002633619863830825", - "mr|samlp|okta|frederik.prijck@auth0.com", - "mr|google-oauth2|109614534713742077035", - "mr|google-oauth2|116771660953104383819" - ], - "custom_login_page": "TEST123\n", - "cross_origin_authentication": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", - "client_secret": "[REDACTED]", - "custom_login_page_on": true - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "client_grants": [ { "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -5662,6 +10186,564 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_6JqigIMy6QRJRrmq", + "body": { + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + "status": 200, + "response": { + "id": "cgr_6JqigIMy6QRJRrmq", + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/client-grants/cgr_H7pRSlLdxlEg9zkT", + "body": { + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + "status": 200, + "response": { + "id": "cgr_H7pRSlLdxlEg9zkT", + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5669,7 +10751,88 @@ "body": "", "status": 200, "response": { - "roles": [], + "roles": [ + { + "id": "rol_CQwwEeYZo4EHdNM8", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_qADoEGyAAXb2hd8o", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_DEUqhnx3IdX1OvwR", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_yuTddFor5QtjwGjE", + "name": "read_osnly", + "description": "Readz Only" + } + ], + "start": 0, + "limit": 100, + "total": 4 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_CQwwEeYZo4EHdNM8/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_qADoEGyAAXb2hd8o/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_DEUqhnx3IdX1OvwR/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_yuTddFor5QtjwGjE/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], "start": 0, "limit": 100, "total": 0 @@ -5677,6 +10840,74 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_CQwwEeYZo4EHdNM8", + "body": { + "name": "Admin", + "description": "Can read and write things" + }, + "status": 200, + "response": { + "id": "rol_CQwwEeYZo4EHdNM8", + "name": "Admin", + "description": "Can read and write things" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_qADoEGyAAXb2hd8o", + "body": { + "name": "Reader", + "description": "Can only read things" + }, + "status": 200, + "response": { + "id": "rol_qADoEGyAAXb2hd8o", + "name": "Reader", + "description": "Can only read things" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_DEUqhnx3IdX1OvwR", + "body": { + "name": "read_only", + "description": "Read Only" + }, + "status": 200, + "response": { + "id": "rol_DEUqhnx3IdX1OvwR", + "name": "read_only", + "description": "Read Only" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/roles/rol_yuTddFor5QtjwGjE", + "body": { + "name": "read_osnly", + "description": "Readz Only" + }, + "status": 200, + "response": { + "id": "rol_yuTddFor5QtjwGjE", + "name": "read_osnly", + "description": "Readz Only" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5684,12 +10915,129 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2024-11-24T09:36:49.560827847Z", + "updated_at": "2024-11-24T09:36:49.568301808Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node16", + "status": "built", + "secrets": [], + "current_version": { + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node16", + "status": "BUILT", + "number": 1, + "build_time": "2024-11-24T09:36:50.322291916Z", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "deployed": true, + "number": 1, + "built_at": "2024-11-24T09:36:50.322291916Z", + "secrets": [], + "status": "built", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, "per_page": 100 }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/actions/actions/31c47b71-7929-451d-b409-cea6f84e8c6c", + "body": { + "name": "My Custom Action", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node16", + "secrets": [], + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "status": 200, + "response": { + "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2024-11-24T09:36:49.560827847Z", + "updated_at": "2024-11-26T11:45:33.483846967Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node16", + "status": "pending", + "secrets": [], + "current_version": { + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node16", + "status": "BUILT", + "number": 1, + "build_time": "2024-11-24T09:36:50.322291916Z", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "deployed": true, + "number": 1, + "built_at": "2024-11-24T09:36:50.322291916Z", + "secrets": [], + "status": "built", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5697,12 +11045,101 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2024-11-24T09:36:49.560827847Z", + "updated_at": "2024-11-26T11:45:33.483846967Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node16", + "status": "built", + "secrets": [], + "current_version": { + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node16", + "status": "BUILT", + "number": 1, + "build_time": "2024-11-24T09:36:50.322291916Z", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "deployed": true, + "number": 1, + "built_at": "2024-11-24T09:36:50.322291916Z", + "secrets": [], + "status": "built", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, "per_page": 100 }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "POST", + "path": "/api/v2/actions/actions/31c47b71-7929-451d-b409-cea6f84e8c6c/deploy", + "body": "", + "status": 200, + "response": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "d1b898a5-7387-4aca-8979-e7923c673e09", + "deployed": false, + "number": 2, + "secrets": [], + "status": "built", + "created_at": "2024-11-26T11:45:34.244559668Z", + "updated_at": "2024-11-26T11:45:34.244559668Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "action": { + "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2024-11-24T09:36:49.560827847Z", + "updated_at": "2024-11-26T11:45:33.475172231Z", + "all_changes_deployed": false + } + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -5732,10 +11169,27 @@ "body": "", "status": 200, "response": { - "organizations": [], + "organizations": [ + { + "id": "org_4gH9RpeaPbRBvZRT", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_66YNdkkJCAeUppBb", + "name": "org2", + "display_name": "Organization2" + } + ], "start": 0, "limit": 50, - "total": 0 + "total": 2 }, "rawHeaders": [], "responseIsBinary": false @@ -5747,7 +11201,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -5755,11 +11209,209 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -5769,7 +11421,8 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -5777,7 +11430,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5796,11 +11449,62 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], + "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -5810,6 +11514,7 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -5819,7 +11524,7 @@ "subject": "deprecated" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -5827,6 +11532,8 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -5835,6 +11542,122 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": true, @@ -5878,11 +11701,78 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true&take=50", + "path": "/api/v2/organizations?include_totals=true&take=50", + "body": "", + "status": 200, + "response": { + "organizations": [ + { + "id": "org_4gH9RpeaPbRBvZRT", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_66YNdkkJCAeUppBb", + "name": "org2", + "display_name": "Organization2" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/client-grants?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/client-grants?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "organizations": [] + "client_grants": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -5894,12 +11784,73 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 3, "start": 0, "limit": 100, "connections": [ { - "id": "con_7CbwOJ6bXHUUVKx1", + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + ] + }, + { + "id": "con_CWNUrzDmQZZfi7vb", "options": { "email": true, "scope": [ @@ -5914,62 +11865,336 @@ "realms": [ "google-oauth2" ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" + ] + }, + { + "id": "con_LfK7XQoeBuYSjg2x", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "passwordPolicy": "good", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "strategy_version": 2, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true + }, + "strategy": "auth0", + "name": "Username-Password-Authentication", + "is_domain_connection": false, + "realms": [ + "Username-Password-Authentication" + ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "I155fGKAI34tbclxLYjEwUYngPU53Blu" + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "client_grants": [ + { + "id": "cgr_6JqigIMy6QRJRrmq", + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ] }, { - "id": "con_pLHGc8ZQSY99vFHF", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "passkey_options": { - "challenge_ui": "both", - "local_enrollment_enabled": true, - "progressive_enrollment_enabled": true - }, - "strategy_version": 2, - "authentication_methods": { - "passkey": { - "enabled": false - }, - "password": { - "enabled": true - } - }, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" - ], - "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "id": "cgr_H7pRSlLdxlEg9zkT", + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/client-grants?per_page=100&page=0&include_totals=true", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "client_grants": [ + }, { "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -6178,7 +12403,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -6186,11 +12411,159 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -6200,7 +12573,8 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -6208,7 +12582,57 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6227,11 +12651,62 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], + "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -6241,6 +12716,7 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -6250,7 +12726,7 @@ "subject": "deprecated" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6258,6 +12734,8 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -6266,6 +12744,122 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": true, @@ -6306,6 +12900,50 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb", + "body": { + "display_name": "Organization2" + }, + "status": 200, + "response": { + "id": "org_66YNdkkJCAeUppBb", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT", + "body": { + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + }, + "display_name": "Organization" + }, + "status": 200, + "response": { + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + }, + "id": "org_4gH9RpeaPbRBvZRT", + "display_name": "Organization", + "name": "org1" + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", diff --git a/test/e2e/recordings/should-dump-without-throwing-an-error.json b/test/e2e/recordings/should-dump-without-throwing-an-error.json index c00e9e66..7637db2c 100644 --- a/test/e2e/recordings/should-dump-without-throwing-an-error.json +++ b/test/e2e/recordings/should-dump-without-throwing-an-error.json @@ -957,7 +957,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 9, "start": 0, "limit": 100, "clients": [ @@ -1029,7 +1029,7 @@ "subject": "deprecated" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1044,6 +1044,375 @@ "client_credentials" ], "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "The Default App", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso": false, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true } ] }, @@ -1057,12 +1426,73 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + ] + }, + { + "id": "con_LfK7XQoeBuYSjg2x", "options": { "mfa": { "active": true, @@ -1092,8 +1522,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" ] } ] @@ -1108,12 +1538,94 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 3, "start": 0, "limit": 100, "connections": [ { - "id": "con_pLHGc8ZQSY99vFHF", + "id": "con_OiHsL2KAL6DRL39M", + "options": { + "mfa": { + "active": true, + "return_enroll_settings": true + }, + "import_mode": false, + "customScripts": { + "login": "function login(email, password, callback) {\n // This script should authenticate a user against the credentials stored in\n // your database.\n // It is executed when a user attempts to log in or immediately after signing\n // up (as a verification that the user was successfully signed up).\n //\n // Everything returned by this script will be set as part of the user profile\n // and will be visible by any of the tenant admins. Avoid adding attributes\n // with values such as passwords, keys, secrets, etc.\n //\n // The `password` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database. For example:\n //\n // var bcrypt = require('bcrypt@0.8.5');\n // bcrypt.compare(password, dbPasswordHash, function(err, res)) { ... }\n //\n // There are three ways this script can finish:\n // 1. The user's credentials are valid. The returned user profile should be in\n // the following format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema\n // var profile = {\n // user_id: ..., // user_id is mandatory\n // email: ...,\n // [...]\n // };\n // callback(null, profile);\n // 2. The user's credentials are invalid\n // callback(new WrongUsernameOrPasswordError(email, \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n //\n // A list of Node.js modules which can be referenced is available here:\n //\n // https://tehsis.github.io/webtaskio-canirequire/\n console.log('AYYYYYE');\n\n const msg =\n 'Please implement the Login script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "create": "function create(user, callback) {\n // This script should create a user entry in your existing database. It will\n // be executed when a user attempts to sign up, or when a user is created\n // through the Auth0 dashboard or API.\n // When this script has finished executing, the Login script will be\n // executed immediately afterwards, to verify that the user was created\n // successfully.\n //\n // The user object will always contain the following properties:\n // * email: the user's email\n // * password: the password entered by the user, in plain text\n // * tenant: the name of this Auth0 account\n // * client_id: the client ID of the application where the user signed up, or\n // API key if created through the API or Auth0 dashboard\n // * connection: the name of this database connection\n //\n // There are three ways this script can finish:\n // 1. A user was successfully created\n // callback(null);\n // 2. This user already exists in your database\n // callback(new ValidationError(\"user_exists\", \"my error message\"));\n // 3. Something went wrong while trying to reach your database\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Create script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "delete": "function remove(id, callback) {\n // This script remove a user from your existing database.\n // It is executed whenever a user is deleted from the API or Auth0 dashboard.\n //\n // There are two ways that this script can finish:\n // 1. The user was removed successfully:\n // callback(null);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Delete script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "verify": "function verify(email, callback) {\n // This script should mark the current user's email address as verified in\n // your database.\n // It is executed whenever a user clicks the verification link sent by email.\n // These emails can be customized at https://manage.auth0.com/#/emails.\n // It is safe to assume that the user's email already exists in your database,\n // because verification emails, if enabled, are sent immediately after a\n // successful signup.\n //\n // There are two ways that this script can finish:\n // 1. The user's email was verified successfully\n // callback(null, true);\n // 2. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the verification link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Verify script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "get_user": "function getByEmail(email, callback) {\n // This script should retrieve a user profile from your existing database,\n // without authenticating the user.\n // It is used to check if a user exists before executing flows that do not\n // require authentication (signup and password reset).\n //\n // There are three ways this script can finish:\n // 1. A user was successfully found. The profile should be in the following\n // format: https://auth0.com/docs/users/normalized/auth0/normalized-user-profile-schema.\n // callback(null, profile);\n // 2. A user was not found\n // callback(null);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n\n const msg =\n 'Please implement the Get User script for this database connection ' +\n 'at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n", + "change_password": "function changePassword(email, newPassword, callback) {\n // This script should change the password stored for the current user in your\n // database. It is executed when the user clicks on the confirmation link\n // after a reset password request.\n // The content and behavior of password confirmation emails can be customized\n // here: https://manage.auth0.com/#/emails\n // The `newPassword` parameter of this function is in plain text. It must be\n // hashed/salted to match whatever is stored in your database.\n //\n // There are three ways that this script can finish:\n // 1. The user's password was updated successfully:\n // callback(null, true);\n // 2. The user's password was not updated:\n // callback(null, false);\n // 3. Something went wrong while trying to reach your database:\n // callback(new Error(\"my error message\"));\n //\n // If an error is returned, it will be passed to the query string of the page\n // where the user is being redirected to after clicking the confirmation link.\n // For example, returning `callback(new Error(\"error\"))` and redirecting to\n // https://example.com would redirect to the following URL:\n // https://example.com?email=alice%40example.com&message=error&success=false\n\n const msg =\n 'Please implement the Change Password script for this database ' +\n 'connection at https://manage.auth0.com/#/connections/database';\n return callback(new Error(msg));\n}\n" + }, + "disable_signup": false, + "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, + "password_history": { + "size": 5, + "enable": false + }, + "strategy_version": 2, + "requires_username": true, + "password_dictionary": { + "enable": true, + "dictionary": [] + }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, + "brute_force_protection": true, + "password_no_personal_info": { + "enable": true + }, + "password_complexity_options": { + "min_length": 8 + }, + "enabledDatabaseCustomization": true + }, + "strategy": "auth0", + "name": "boo-baz-db-connection-test", + "is_domain_connection": false, + "realms": [ + "boo-baz-db-connection-test" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW" + ] + }, + { + "id": "con_CWNUrzDmQZZfi7vb", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ" + ] + }, + { + "id": "con_LfK7XQoeBuYSjg2x", "options": { "mfa": { "active": true, @@ -1143,8 +1655,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "I155fGKAI34tbclxLYjEwUYngPU53Blu", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi" ] } ] @@ -1259,22 +1771,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", - "body": "", - "status": 404, - "response": { - "statusCode": 404, - "error": "Not Found", - "message": "The template does not exist.", - "errorCode": "inexistent_email_template" - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1289,7 +1786,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/mfa_oob_code", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -1304,7 +1801,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -1349,7 +1846,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -1364,7 +1861,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -1398,7 +1895,22 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email_by_code", + "path": "/api/v2/email-templates/enrollment_email", + "body": "", + "status": 404, + "response": { + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -1417,10 +1929,284 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 3, "start": 0, "limit": 100, "client_grants": [ + { + "id": "cgr_6JqigIMy6QRJRrmq", + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, + { + "id": "cgr_H7pRSlLdxlEg9zkT", + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", + "scope": [ + "read:client_grants", + "create:client_grants", + "delete:client_grants", + "update:client_grants", + "read:users", + "update:users", + "delete:users", + "create:users", + "read:users_app_metadata", + "update:users_app_metadata", + "delete:users_app_metadata", + "create:users_app_metadata", + "read:user_custom_blocks", + "create:user_custom_blocks", + "delete:user_custom_blocks", + "create:user_tickets", + "read:clients", + "update:clients", + "delete:clients", + "create:clients", + "read:client_keys", + "update:client_keys", + "delete:client_keys", + "create:client_keys", + "read:connections", + "update:connections", + "delete:connections", + "create:connections", + "read:resource_servers", + "update:resource_servers", + "delete:resource_servers", + "create:resource_servers", + "read:device_credentials", + "update:device_credentials", + "delete:device_credentials", + "create:device_credentials", + "read:rules", + "update:rules", + "delete:rules", + "create:rules", + "read:rules_configs", + "update:rules_configs", + "delete:rules_configs", + "read:hooks", + "update:hooks", + "delete:hooks", + "create:hooks", + "read:actions", + "update:actions", + "delete:actions", + "create:actions", + "read:email_provider", + "update:email_provider", + "delete:email_provider", + "create:email_provider", + "blacklist:tokens", + "read:stats", + "read:insights", + "read:tenant_settings", + "update:tenant_settings", + "read:logs", + "read:logs_users", + "read:shields", + "create:shields", + "update:shields", + "delete:shields", + "read:anomaly_blocks", + "delete:anomaly_blocks", + "update:triggers", + "read:triggers", + "read:grants", + "delete:grants", + "read:guardian_factors", + "update:guardian_factors", + "read:guardian_enrollments", + "delete:guardian_enrollments", + "create:guardian_enrollment_tickets", + "read:user_idp_tokens", + "create:passwords_checking_job", + "delete:passwords_checking_job", + "read:custom_domains", + "delete:custom_domains", + "create:custom_domains", + "update:custom_domains", + "read:email_templates", + "create:email_templates", + "update:email_templates", + "read:mfa_policies", + "update:mfa_policies", + "read:roles", + "create:roles", + "delete:roles", + "update:roles", + "read:prompts", + "update:prompts", + "read:branding", + "update:branding", + "delete:branding", + "read:log_streams", + "create:log_streams", + "delete:log_streams", + "update:log_streams", + "create:signing_keys", + "read:signing_keys", + "update:signing_keys", + "read:limits", + "update:limits", + "create:role_members", + "read:role_members", + "delete:role_members", + "read:entitlements", + "read:attack_protection", + "update:attack_protection", + "read:organizations", + "update:organizations", + "create:organizations", + "delete:organizations", + "create:organization_members", + "read:organization_members", + "delete:organization_members", + "create:organization_connections", + "read:organization_connections", + "update:organization_connections", + "delete:organization_connections", + "create:organization_member_roles", + "read:organization_member_roles", + "delete:organization_member_roles", + "create:organization_invitations", + "read:organization_invitations", + "delete:organization_invitations" + ] + }, { "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", @@ -1719,11 +2505,89 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/phone/selected-provider", + "path": "/api/v2/guardian/factors/phone/selected-provider", + "body": "", + "status": 200, + "response": { + "provider": "auth0" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/guardian/factors/phone/message-types", + "body": "", + "status": 200, + "response": { + "message_types": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "roles": [ + { + "id": "rol_CQwwEeYZo4EHdNM8", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_qADoEGyAAXb2hd8o", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_DEUqhnx3IdX1OvwR", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_yuTddFor5QtjwGjE", + "name": "read_osnly", + "description": "Readz Only" + } + ], + "start": 0, + "limit": 100, + "total": 4 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_CQwwEeYZo4EHdNM8/permissions?per_page=100&page=0&include_totals=true", + "body": "", + "status": 200, + "response": { + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/roles/rol_qADoEGyAAXb2hd8o/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "provider": "auth0" + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -1731,11 +2595,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/guardian/factors/phone/message-types", + "path": "/api/v2/roles/rol_DEUqhnx3IdX1OvwR/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "message_types": [] + "permissions": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -1743,11 +2610,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles?per_page=100&page=0&include_totals=true", + "path": "/api/v2/roles/rol_yuTddFor5QtjwGjE/permissions?per_page=100&page=0&include_totals=true", "body": "", "status": 200, "response": { - "roles": [], + "permissions": [], "start": 0, "limit": 100, "total": 0 @@ -1878,7 +2745,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-password/custom-text/en", + "path": "/api/v2/prompts/login-id/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1888,7 +2755,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/custom-text/en", + "path": "/api/v2/prompts/login-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1958,7 +2825,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-otp/custom-text/en", + "path": "/api/v2/prompts/consent/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1968,7 +2835,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/consent/custom-text/en", + "path": "/api/v2/prompts/mfa-otp/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2008,7 +2875,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-email/custom-text/en", + "path": "/api/v2/prompts/mfa-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2018,7 +2885,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-sms/custom-text/en", + "path": "/api/v2/prompts/mfa-email/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2028,7 +2895,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", + "path": "/api/v2/prompts/mfa/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2038,7 +2905,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2048,7 +2915,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/status/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2058,7 +2925,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/email-verification/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2068,7 +2935,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/device-flow/custom-text/en", + "path": "/api/v2/prompts/email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -2118,7 +2985,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login/partials", + "path": "/api/v2/prompts/login-id/partials", "body": "", "status": 200, "response": {}, @@ -2128,7 +2995,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-id/partials", + "path": "/api/v2/prompts/login/partials", "body": "", "status": 200, "response": {}, @@ -2148,7 +3015,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup-id/partials", + "path": "/api/v2/prompts/login-passwordless/partials", "body": "", "status": 200, "response": {}, @@ -2158,7 +3025,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-passwordless/partials", + "path": "/api/v2/prompts/signup/partials", "body": "", "status": 200, "response": {}, @@ -2168,7 +3035,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/partials", + "path": "/api/v2/prompts/signup-id/partials", "body": "", "status": 200, "response": {}, @@ -2192,7 +3059,56 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "31c47b71-7929-451d-b409-cea6f84e8c6c", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2024-11-24T09:36:49.560827847Z", + "updated_at": "2024-11-24T09:36:49.568301808Z", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "runtime": "node16", + "status": "built", + "secrets": [], + "current_version": { + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "runtime": "node16", + "status": "BUILT", + "number": 1, + "build_time": "2024-11-24T09:36:50.322291916Z", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z" + }, + "deployed_version": { + "code": "/**\n * Handler that will be called during the execution of a PostLogin flow.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\nexports.onExecutePostLogin = async (event, api) => {\n console.log('Some custom action!');\n};\n\n/**\n * Handler that will be invoked when this action is resuming after an external redirect. If your\n * onExecutePostLogin function does not perform a redirect, this function can be safely ignored.\n *\n * @param {Event} event - Details about the user and the context in which they are logging in.\n * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.\n */\n// exports.onContinuePostLogin = async (event, api) => {\n// };\n", + "dependencies": [], + "id": "d80b2f3f-12f6-4bee-b80e-2b2fa9285393", + "deployed": true, + "number": 1, + "built_at": "2024-11-24T09:36:50.322291916Z", + "secrets": [], + "status": "built", + "created_at": "2024-11-24T09:36:50.248058068Z", + "updated_at": "2024-11-24T09:36:50.323234361Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -2217,18 +3133,6 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, - { - "id": "post-login", - "version": "v2", - "status": "DEPRECATED", - "runtimes": [ - "node12", - "node16" - ], - "default_runtime": "node16", - "binding_policy": "trigger-bound", - "compatible_triggers": [] - }, { "id": "post-login", "version": "v3", @@ -2248,13 +3152,14 @@ ] }, { - "id": "credentials-exchange", - "version": "v1", + "id": "post-login", + "version": "v2", "status": "DEPRECATED", "runtimes": [ - "node12" + "node12", + "node16" ], - "default_runtime": "node12", + "default_runtime": "node16", "binding_policy": "trigger-bound", "compatible_triggers": [] }, @@ -2272,7 +3177,7 @@ "compatible_triggers": [] }, { - "id": "pre-user-registration", + "id": "credentials-exchange", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -2284,19 +3189,17 @@ }, { "id": "pre-user-registration", - "version": "v2", - "status": "CURRENT", + "version": "v1", + "status": "DEPRECATED", "runtimes": [ - "node12", - "node16", - "node18-actions" + "node12" ], - "default_runtime": "node18-actions", + "default_runtime": "node12", "binding_policy": "trigger-bound", "compatible_triggers": [] }, { - "id": "post-user-registration", + "id": "pre-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ @@ -2319,6 +3222,19 @@ "binding_policy": "trigger-bound", "compatible_triggers": [] }, + { + "id": "post-user-registration", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node12", + "node16", + "node18-actions" + ], + "default_runtime": "node18-actions", + "binding_policy": "trigger-bound", + "compatible_triggers": [] + }, { "id": "post-change-password", "version": "v1", @@ -2573,10 +3489,27 @@ "body": "", "status": 200, "response": { - "organizations": [], + "organizations": [ + { + "id": "org_4gH9RpeaPbRBvZRT", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_66YNdkkJCAeUppBb", + "name": "org2", + "display_name": "Organization2" + } + ], "start": 0, "limit": 50, - "total": 0 + "total": 2 }, "rawHeaders": [], "responseIsBinary": false @@ -2588,7 +3521,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -2596,11 +3529,250 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "name": "Deploy CLI", + "is_first_party": true, + "oidc_conformant": true, + "sso_disabled": false, + "cross_origin_auth": false, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "cross_origin_authentication": true, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "e3x6o1t7a02Ji1TKjrxVv8f00mbnQGRi", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "API Explorer Application", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "ACZQgQKAMyMAF4h4n5geilpwQkJ9ZUyN", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Node App", + "allowed_clients": [], + "allowed_logout_urls": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "AmpwrAS2f57N2MejRMQgUcOi5KTKlyqW", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "regular_web", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" + ], + "web_origins": [], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Quickstarts API (Test Application)", + "client_metadata": { + "foo": "bar" + }, + "cross_origin_auth": false, "is_first_party": true, "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "A4HcPpdTzWGAp8mgE9wiw4BIZrWn6put", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Terraform Provider", "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -2610,7 +3782,8 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "cross_origin_authentication": true, + "sso_disabled": false, + "cross_origin_authentication": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -2618,7 +3791,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "7AmISt5LDaadxoZVGjGstY1gGHVFOkmB", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2637,11 +3810,21 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "name": "The Default App", + "allowed_clients": [], "callbacks": [], + "client_metadata": {}, "cross_origin_auth": false, "is_first_party": true, - "oidc_conformant": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -2651,6 +3834,7 @@ "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "cross_origin_authentication": false, "signing_keys": [ @@ -2660,7 +3844,7 @@ "subject": "deprecated" } ], - "client_id": "I155fGKAI34tbclxLYjEwUYngPU53Blu", + "client_id": "DHLs8Mo0IoJPKWQXLgsVtciHVGo9xUYQ", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2668,6 +3852,8 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", "grant_types": [ "authorization_code", "implicit", @@ -2676,6 +3862,122 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Test SPA", + "allowed_clients": [], + "allowed_logout_urls": [ + "http://localhost:3000" + ], + "callbacks": [ + "http://localhost:3000" + ], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "expiring", + "leeway": 0, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, + "infinite_token_lifetime": false, + "infinite_idle_token_lifetime": false, + "rotation_type": "rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4Gr93QMjjd8BvDkHxcblS9ejT0AGOoSO", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "none", + "app_type": "spa", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token" + ], + "web_origins": [ + "http://localhost:3000" + ], + "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "auth0-deploy-cli-extension", + "allowed_clients": [], + "callbacks": [], + "client_metadata": {}, + "cross_origin_auth": false, + "is_first_party": true, + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": true, + "refresh_token": { + "expiration_type": "non-expiring", + "leeway": 0, + "infinite_token_lifetime": true, + "infinite_idle_token_lifetime": true, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, + "rotation_type": "non-rotating" + }, + "sso_disabled": false, + "cross_origin_authentication": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3YYv3CttHXiKHQxssmMR8Hu2Ycxexv3o", + "callback_url_template": false, + "client_secret": "[REDACTED]", + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false + }, + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "app_type": "non_interactive", + "grant_types": [ + "client_credentials" + ], + "custom_login_page_on": true + }, { "tenant": "auth0-deploy-cli-e2e", "global": true, @@ -2723,7 +4025,74 @@ "body": "", "status": 200, "response": { - "organizations": [] + "organizations": [ + { + "id": "org_4gH9RpeaPbRBvZRT", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_66YNdkkJCAeUppBb", + "name": "org2", + "display_name": "Organization2" + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_4gH9RpeaPbRBvZRT/client-grants?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 100, + "total": 0 + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_66YNdkkJCAeUppBb/client-grants?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "client_grants": [], + "start": 0, + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2800,7 +4169,69 @@ "path": "/api/v2/log-streams", "body": "", "status": 200, - "response": [], + "response": [ + { + "id": "lst_0000000000018641", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-12993afd-3504-4062-8c96-bfa6ff8bae0f/auth0.logs" + }, + "filters": [ + { + "type": "category", + "name": "auth.login.success" + }, + { + "type": "category", + "name": "auth.login.notification" + }, + { + "type": "category", + "name": "auth.login.fail" + }, + { + "type": "category", + "name": "auth.signup.success" + }, + { + "type": "category", + "name": "auth.logout.success" + }, + { + "type": "category", + "name": "auth.logout.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.fail" + }, + { + "type": "category", + "name": "auth.silent_auth.success" + }, + { + "type": "category", + "name": "auth.token_exchange.fail" + } + ], + "isPriority": false + }, + { + "id": "lst_0000000000018640", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "active", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + }, + "isPriority": false + } + ], "rawHeaders": [], "responseIsBinary": false }, @@ -2829,6 +4260,21 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "body": "", + "status": 200, + "response": { + "limit": 100, + "start": 0, + "total": 0, + "forms": [] + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2847,14 +4293,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/forms?page=0&per_page=100&include_totals=true", + "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { "limit": 100, "start": 0, "total": 0, - "forms": [] + "connections": [] }, "rawHeaders": [], "responseIsBinary": false @@ -2892,14 +4338,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/flows/vault/connections?page=0&per_page=100&include_totals=true", + "path": "/api/v2/self-service-profiles?page=0&per_page=100&include_totals=true", "body": "", "status": 200, "response": { - "limit": 100, + "self_service_profiles": [], "start": 0, - "total": 0, - "connections": [] + "limit": 100, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false diff --git a/test/e2e/testdata/lots-of-configuration/forms/Blank-form.json b/test/e2e/testdata/lots-of-configuration/forms/Blank-form.json new file mode 100644 index 00000000..7f0be1a4 --- /dev/null +++ b/test/e2e/testdata/lots-of-configuration/forms/Blank-form.json @@ -0,0 +1,57 @@ +{ + "name": "Blank-form", + "languages": { + "primary": "en" + }, + "nodes": [ + { + "id": "step_ggeX", + "type": "STEP", + "coordinates": { + "x": 500, + "y": 0 + }, + "alias": "New step", + "config": { + "components": [ + { + "id": "full_name", + "category": "FIELD", + "type": "TEXT", + "label": "Your Name", + "required": true, + "sensitive": false, + "config": { + "multiline": false, + "min_length": 1, + "max_length": 50 + } + }, + { + "id": "next_button_3FbA", + "category": "BLOCK", + "type": "NEXT_BUTTON", + "config": { + "text": "Continue" + } + } + ], + "next_node": "$ending" + } + } + ], + "start": { + "next_node": "step_ggeX", + "coordinates": { + "x": 0, + "y": 0 + } + }, + "ending": { + "resume_flow": true, + "coordinates": { + "x": 1250, + "y": 0 + } + } +} diff --git a/test/e2e/testdata/lots-of-configuration/tenant.yaml b/test/e2e/testdata/lots-of-configuration/tenant.yaml index b3496f5b..3ae571bb 100644 --- a/test/e2e/testdata/lots-of-configuration/tenant.yaml +++ b/test/e2e/testdata/lots-of-configuration/tenant.yaml @@ -738,3 +738,23 @@ logStreams: datadogApiKey: some-sensitive-api-key datadogRegion: us type: datadog +forms: + - name: Blank-form + body: ./forms/Blank-form.json +selfServiceProfiles: + - name: self-service-profile-1 + allowed_strategies: + - google-apps + - okta + branding: + colors: + primary: '#19aecc' + description: test description self-service-profile-1 + user_attributes: + - name: email + description: Email of the User + is_optional: false + - name: name + description: Name of the User + is_optional: true + From e25b584a02fe855422361894eb13f75892b4e18c Mon Sep 17 00:00:00 2001 From: kushalshit27 <43465488+kushalshit27@users.noreply.github.com> Date: Wed, 27 Nov 2024 18:10:32 +0530 Subject: [PATCH 8/8] lint fix --- test/utils.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/utils.js b/test/utils.js index 39ffbdae..29f4883f 100644 --- a/test/utils.js +++ b/test/utils.js @@ -16,14 +16,14 @@ export const testDataDir = path.resolve(localDir, 'testData'); export function mockPagedData(params, key, data) { return params?.include_totals ? { - data: { - [key]: data, - total: data?.length || 0, - }, - } + data: { + [key]: data, + total: data?.length || 0, + }, + } : { - data, - }; + data, + }; } export function mockMgmtClient() {