From af44c4c9c3d98729aec1b759ad74798e28eb57dd Mon Sep 17 00:00:00 2001 From: Will Vedder Date: Fri, 22 Dec 2023 09:43:29 -0500 Subject: [PATCH] Regenerating recordings --- src/context/directory/handlers/actions.ts | 9 +- ...sources-if-AUTH0_ALLOW_DELETE-is-true.json | 3270 ++++++++---- ...ources-if-AUTH0_ALLOW_DELETE-is-false.json | 4636 ++++++++++++----- ...ould-deploy-without-throwing-an-error.json | 3645 +++++++++++-- ...-and-deploy-without-throwing-an-error.json | 563 +- 5 files changed, 9317 insertions(+), 2806 deletions(-) diff --git a/src/context/directory/handlers/actions.ts b/src/context/directory/handlers/actions.ts index 9ae2c9889..b3dd0ae8f 100644 --- a/src/context/directory/handlers/actions.ts +++ b/src/context/directory/handlers/actions.ts @@ -28,11 +28,12 @@ function parse(context: DirectoryContext): ParsedActions { const actionFolder = path.join(constants.ACTIONS_DIRECTORY, `${action.name}`); if (action.code) { - const unixPath = action.code.replace(/[\\/]+/g, '/').replace(/^([a-zA-Z]+:|\.\/)/, ''); - if (fs.existsSync(unixPath)) { - action.code = context.loadFile(unixPath, actionFolder); + const relativeToConfigPath = path.join(context.filePath, action.code); + if (fs.existsSync(relativeToConfigPath)) { + action.code = context.loadFile(relativeToConfigPath, actionFolder); } else { - action.code = context.loadFile(path.join(context.filePath, action.code), actionFolder); + const unixPath = action.code.replace(/[\\/]+/g, '/').replace(/^([a-zA-Z]+:|\.\/)/, ''); + action.code = context.loadFile(unixPath, actionFolder); } } 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 3aa145dff..fe1b3a593 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 @@ -6,10 +6,19 @@ "body": "", "status": 200, "response": { - "total": 0, + "total": 1, "start": 0, "limit": 100, - "rules": [] + "rules": [ + { + "id": "rul_C7jutXH10zOIrWjD", + "enabled": true, + "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", + "name": "my-rule", + "order": 2, + "stage": "login_success" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -21,28 +30,36 @@ "body": "", "status": 200, "response": { - "total": 0, + "total": 1, "start": 0, "limit": 100, - "rules": [] + "rules": [ + { + "id": "rul_C7jutXH10zOIrWjD", + "enabled": true, + "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", + "name": "my-rule", + "order": 2, + "stage": "login_success" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/rules", + "method": "PATCH", + "path": "/api/v2/rules/rul_C7jutXH10zOIrWjD", "body": { "name": "my-rule", "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", - "stage": "login_success", "enabled": true, "order": 2 }, - "status": 201, + "status": 200, "response": { - "id": "rul_Sjij7JPRIyGmTeHf", + "id": "rul_C7jutXH10zOIrWjD", "enabled": true, "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", "name": "my-rule", @@ -247,7 +264,8 @@ "colors": { "primary": "#F8F8F2", "page_background": "#222221" - } + }, + "identifier_first": true }, "session_cookie": { "mode": "non-persistent" @@ -893,6 +911,22 @@ "description": "Delete encryption keys", "value": "delete:encryption_keys" }, + { + "description": "Read Sessions", + "value": "read:sessions" + }, + { + "description": "Delete Sessions", + "value": "delete:sessions" + }, + { + "description": "Read Refresh Tokens", + "value": "read:refresh_tokens" + }, + { + "description": "Delete Refresh Tokens", + "value": "delete:refresh_tokens" + }, { "value": "read:client_credentials", "description": "Read Client Credentials" @@ -924,7 +958,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -972,18 +1006,72 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", + "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": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -994,7 +1082,8 @@ "subject": "deprecated" } ], - "client_id": "ohJchrySIGMHYfCQ4Huey161rE1EmQOm", + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1002,147 +1091,402 @@ "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": "DELETE", - "path": "/api/v2/clients/ohJchrySIGMHYfCQ4Huey161rE1EmQOm", - "body": {}, - "status": 204, - "response": "", - "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "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, - "encrypted": true, - "signing_keys": [ { - "cert": "[REDACTED]", - "key": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "allowed_origins": [], - "client_id": "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK", - "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "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 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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": "POST", - "path": "/api/v2/clients", + "method": "DELETE", + "path": "/api/v2/clients/7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "body": {}, + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "DELETE", + "path": "/api/v2/clients/3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "body": {}, + "status": 204, + "response": "", + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/clients/aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", "body": { "name": "Quickstarts API (Test Application)", "app_type": "non_interactive", @@ -1158,8 +1502,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": { @@ -1174,7 +1517,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1196,16 +1539,14 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "AuMFvd4rZcROjl8gc8QjyXfifGUh0rJL", + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1225,8 +1566,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "body": { "name": "API Explorer Application", "allowed_clients": [], @@ -1243,8 +1584,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": { @@ -1267,7 +1607,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1297,16 +1637,14 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "aIN78DlIth5F3iFxZF6BGdWFMst5Qsv5", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1327,23 +1665,133 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "body": { - "name": "Terraform Provider", - "app_type": "non_interactive", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", + "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/hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "body": { + "name": "Terraform Provider", + "app_type": "non_interactive", + "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 + }, "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", @@ -1357,7 +1805,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1376,16 +1824,14 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "0JvkloSYOQ58IJ7bfA5RhXJprbcmPhda", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1405,8 +1851,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "body": { "name": "The Default App", "allowed_clients": [], @@ -1425,8 +1871,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": { @@ -1450,7 +1895,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1481,16 +1926,14 @@ }, "sso": false, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ShABsGq1S5Sbd8eva2qpG8PyeEn5VN61", + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1513,8 +1956,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", "body": { "name": "Test SPA", "allowed_clients": [], @@ -1538,8 +1981,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": { @@ -1565,7 +2007,7 @@ "http://localhost:3000" ] }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1600,16 +2042,14 @@ "rotation_type": "rotating" }, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ywRnwJqaVZf4a6ahFzEU8A7OBFLLfeGl", + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1635,8 +2075,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", "body": { "name": "auth0-deploy-cli-extension", "allowed_clients": [], @@ -1653,8 +2093,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": { @@ -1677,7 +2116,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1707,16 +2146,14 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1740,19 +2177,19 @@ "method": "GET", "path": "/api/v2/emails/provider?include_fields=true&fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "There is not a configured email provider", - "errorCode": "inexistent_email_provider" + "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": "POST", + "method": "PATCH", "path": "/api/v2/emails/provider?enabled=false&name=mandrill", "body": { "name": "mandrill", @@ -1762,7 +2199,7 @@ "default_from_address": "auth0-user@auth0.com", "enabled": false }, - "status": 201, + "status": 200, "response": { "name": "mandrill", "credentials": {}, @@ -1775,13 +2212,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/push-notification", "body": { - "enabled": false + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -1789,7 +2226,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -1803,7 +2240,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -1817,7 +2254,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 }, @@ -1831,13 +2268,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/duo", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1845,7 +2282,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -1859,7 +2296,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -1873,7 +2310,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 }, @@ -1942,6 +2379,76 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/log-streams?paginate=false", + "body": "", + "status": 200, + "response": [ + { + "id": "lst_0000000000013778", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "suspended", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + } + }, + { + "id": "lst_0000000000013779", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "active", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-0da0aa0b-670c-4088-9b45-b5f59405aade/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" + } + ] + } + ], + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -1988,6 +2495,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": "PATCH", @@ -2016,59 +2548,23 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/log-streams?paginate=false", - "body": "", - "status": 200, - "response": [], - "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": "POST", - "path": "/api/v2/log-streams", + "path": "/api/v2/log-streams/lst_0000000000013778", "body": { "name": "Suspended DD Log Stream", "sink": { "datadogApiKey": "some-sensitive-api-key", "datadogRegion": "us" - }, - "type": "datadog" + } }, "status": 200, "response": { - "id": "lst_0000000000013776", + "id": "lst_0000000000013778", "name": "Suspended DD Log Stream", "type": "datadog", - "status": "active", + "status": "suspended", "sink": { "datadogApiKey": "some-sensitive-api-key", "datadogRegion": "us" @@ -2079,8 +2575,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/log-streams", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000013779", "body": { "name": "Amazon EventBridge", "filters": [ @@ -2121,22 +2617,18 @@ "name": "auth.token_exchange.fail" } ], - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2" - }, - "type": "eventbridge" + "status": "active" }, "status": 200, "response": { - "id": "lst_0000000000013777", + "id": "lst_0000000000013779", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-79a58600-ea32-48ae-bd81-e289c20ed37f/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-0da0aa0b-670c-4088-9b45-b5f59405aade/auth0.logs" }, "filters": [ { @@ -2235,21 +2727,12 @@ "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", @@ -2268,8 +2751,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK", + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2277,28 +2759,32 @@ "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": "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", @@ -2317,7 +2803,8 @@ "subject": "deprecated" } ], - "client_id": "AuMFvd4rZcROjl8gc8QjyXfifGUh0rJL", + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2325,11 +2812,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "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 }, { @@ -2368,7 +2860,7 @@ "subject": "deprecated" } ], - "client_id": "aIN78DlIth5F3iFxZF6BGdWFMst5Qsv5", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2388,19 +2880,31 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "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, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "signing_keys": [ { @@ -2409,7 +2913,7 @@ "subject": "deprecated" } ], - "client_id": "0JvkloSYOQ58IJ7bfA5RhXJprbcmPhda", + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2417,42 +2921,33 @@ "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 }, { - "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, + "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": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso": false, "sso_disabled": false, "signing_keys": [ { @@ -2461,7 +2956,7 @@ "subject": "deprecated" } ], - "client_id": "ShABsGq1S5Sbd8eva2qpG8PyeEn5VN61", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2469,12 +2964,9 @@ "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 @@ -2520,7 +3012,7 @@ "subject": "deprecated" } ], - "client_id": "ywRnwJqaVZf4a6ahFzEU8A7OBFLLfeGl", + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2577,7 +3069,7 @@ "subject": "deprecated" } ], - "client_id": "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2637,19 +3129,93 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_yf17tj2N7LKO6iBp", + "id": "con_N4wxJ8dAAKN5aAbi", + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -2674,19 +3240,93 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_yf17tj2N7LKO6iBp", + "id": "con_N4wxJ8dAAKN5aAbi", + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -2707,25 +3347,93 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_yf17tj2N7LKO6iBp", + "path": "/api/v2/connections/con_fLZziUlqiV2KZvkh", "body": {}, "status": 202, "response": { - "deleted_at": "2023-10-27T17:58:21.317Z" + "deleted_at": "2023-12-22T14:30:16.512Z" }, "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", + "method": "GET", + "path": "/api/v2/connections/con_N4wxJ8dAAKN5aAbi", + "body": "", + "status": 200, + "response": { + "id": "con_N4wxJ8dAAKN5aAbi", + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ], + "realms": [ + "boo-baz-db-connection-test" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_N4wxJ8dAAKN5aAbi", + "body": { "enabled_clients": [ - "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK", - "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V" + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ], "is_domain_connection": false, "options": { @@ -2744,6 +3452,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -2754,6 +3467,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -2767,25 +3488,30 @@ "boo-baz-db-connection-test" ] }, - "status": 201, + "status": 200, "response": { - "id": "con_i71jW6OTkuVtMpGT", + "id": "con_N4wxJ8dAAKN5aAbi", "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", + "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 @@ -2796,6 +3522,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -2809,8 +3543,8 @@ "name": "boo-baz-db-connection-test", "is_domain_connection": false, "enabled_clients": [ - "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", - "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK" + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ], "realms": [ "boo-baz-db-connection-test" @@ -2865,67 +3599,9 @@ }, "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, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "allowed_origins": [], - "client_id": "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK", - "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", + "grant_types": [ "client_credentials" ], - "web_origins": [], "custom_login_page_on": true }, { @@ -2956,7 +3632,7 @@ "subject": "deprecated" } ], - "client_id": "AuMFvd4rZcROjl8gc8QjyXfifGUh0rJL", + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -2975,8 +3651,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, @@ -3007,7 +3684,8 @@ "subject": "deprecated" } ], - "client_id": "aIN78DlIth5F3iFxZF6BGdWFMst5Qsv5", + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3017,19 +3695,34 @@ }, "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": "Terraform Provider", + "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", @@ -3048,7 +3741,7 @@ "subject": "deprecated" } ], - "client_id": "0JvkloSYOQ58IJ7bfA5RhXJprbcmPhda", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3056,6 +3749,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -3100,7 +3794,7 @@ "subject": "deprecated" } ], - "client_id": "ShABsGq1S5Sbd8eva2qpG8PyeEn5VN61", + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3118,6 +3812,46 @@ ], "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "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, @@ -3159,7 +3893,7 @@ "subject": "deprecated" } ], - "client_id": "ywRnwJqaVZf4a6ahFzEU8A7OBFLLfeGl", + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3216,7 +3950,7 @@ "subject": "deprecated" } ], - "client_id": "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3276,12 +4010,12 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_i71jW6OTkuVtMpGT", + "id": "con_N4wxJ8dAAKN5aAbi", "options": { "mfa": { "active": true, @@ -3298,6 +4032,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -3308,6 +4047,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3324,8 +4071,29 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", - "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK" + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_qXhJkhSirvwvOHpc", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ] } ] @@ -3340,12 +4108,12 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_i71jW6OTkuVtMpGT", + "id": "con_N4wxJ8dAAKN5aAbi", "options": { "mfa": { "active": true, @@ -3362,6 +4130,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -3372,6 +4145,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3388,8 +4169,29 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", - "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK" + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_qXhJkhSirvwvOHpc", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ] } ] @@ -3399,14 +4201,12 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", + "method": "PATCH", + "path": "/api/v2/connections/con_qXhJkhSirvwvOHpc", "body": { - "name": "google-oauth2", - "strategy": "google-oauth2", "enabled_clients": [ - "ShABsGq1S5Sbd8eva2qpG8PyeEn5VN61", - "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V" + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ], "is_domain_connection": false, "options": { @@ -3418,9 +4218,9 @@ "profile": true } }, - "status": 201, + "status": 200, "response": { - "id": "con_WEXY9ZnXOS8DngUu", + "id": "con_qXhJkhSirvwvOHpc", "options": { "email": true, "scope": [ @@ -3433,8 +4233,8 @@ "name": "google-oauth2", "is_domain_connection": false, "enabled_clients": [ - "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", - "ShABsGq1S5Sbd8eva2qpG8PyeEn5VN61" + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ], "realms": [ "google-oauth2" @@ -3446,27 +4246,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 @@ -3474,25 +4272,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 @@ -3552,21 +4352,12 @@ "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", @@ -3585,8 +4376,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK", + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3594,28 +4384,32 @@ "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": "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", @@ -3634,7 +4428,8 @@ "subject": "deprecated" } ], - "client_id": "AuMFvd4rZcROjl8gc8QjyXfifGUh0rJL", + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3642,11 +4437,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "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 }, { @@ -3685,7 +4485,7 @@ "subject": "deprecated" } ], - "client_id": "aIN78DlIth5F3iFxZF6BGdWFMst5Qsv5", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3705,19 +4505,31 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "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, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "signing_keys": [ { @@ -3726,7 +4538,7 @@ "subject": "deprecated" } ], - "client_id": "0JvkloSYOQ58IJ7bfA5RhXJprbcmPhda", + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3734,9 +4546,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 @@ -3745,31 +4560,19 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, + "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": 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": false, "sso_disabled": false, "signing_keys": [ { @@ -3778,7 +4581,7 @@ "subject": "deprecated" } ], - "client_id": "ShABsGq1S5Sbd8eva2qpG8PyeEn5VN61", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3786,12 +4589,9 @@ "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 @@ -3837,7 +4637,7 @@ "subject": "deprecated" } ], - "client_id": "ywRnwJqaVZf4a6ahFzEU8A7OBFLLfeGl", + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3894,7 +4694,7 @@ "subject": "deprecated" } ], - "client_id": "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3954,12 +4754,286 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 3, "start": 0, "limit": 100, "client_grants": [ { - "id": "cgr_Uvfv2anWyTWpI1qQ", + "id": "cgr_6pIuaiQiTFy11NZU", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "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_KB8yL7uZ7Jv1G0e0", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "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": [ @@ -4130,11 +5204,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_KB8yL7uZ7Jv1G0e0", "body": { - "client_id": "aIN78DlIth5F3iFxZF6BGdWFMst5Qsv5", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -4268,10 +5340,10 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { - "id": "cgr_mgrh7iyIZ4W0zrep", - "client_id": "aIN78DlIth5F3iFxZF6BGdWFMst5Qsv5", + "id": "cgr_KB8yL7uZ7Jv1G0e0", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -4411,11 +5483,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_6pIuaiQiTFy11NZU", "body": { - "client_id": "0JvkloSYOQ58IJ7bfA5RhXJprbcmPhda", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -4549,10 +5619,10 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { - "id": "cgr_yGReGyOkgUBrfmKG", - "client_id": "0JvkloSYOQ58IJ7bfA5RhXJprbcmPhda", + "id": "cgr_6pIuaiQiTFy11NZU", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -4697,7 +5767,43 @@ "body": "", "status": 200, "response": { - "roles": [], + "roles": [ + { + "id": "rol_wCNt1OJGjx5XM8xo", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_WO708ZFi8mkRKQDQ", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_IDZdN2XbY72UAlNg", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_6hr4gXp3Hn5l13B6", + "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_wCNt1OJGjx5XM8xo/permissions?include_totals=true&page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "permissions": [], "start": 0, "limit": 100, "total": 0 @@ -4707,15 +5813,60 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "GET", + "path": "/api/v2/roles/rol_WO708ZFi8mkRKQDQ/permissions?include_totals=true&page=0&per_page=100", + "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_IDZdN2XbY72UAlNg/permissions?include_totals=true&page=0&per_page=100", + "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_6hr4gXp3Hn5l13B6/permissions?include_totals=true&page=0&per_page=100", + "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_wCNt1OJGjx5XM8xo", "body": { "name": "Admin", "description": "Can read and write things" }, "status": 200, "response": { - "id": "rol_VFV74oRWWXdG425f", + "id": "rol_wCNt1OJGjx5XM8xo", "name": "Admin", "description": "Can read and write things" }, @@ -4724,49 +5875,49 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_IDZdN2XbY72UAlNg", "body": { - "name": "Reader", - "description": "Can only read things" + "name": "read_only", + "description": "Read Only" }, "status": 200, "response": { - "id": "rol_GYGhQHbigkWhaDGp", - "name": "Reader", - "description": "Can only read things" + "id": "rol_IDZdN2XbY72UAlNg", + "name": "read_only", + "description": "Read Only" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_WO708ZFi8mkRKQDQ", "body": { - "name": "read_only", - "description": "Read Only" + "name": "Reader", + "description": "Can only read things" }, "status": 200, "response": { - "id": "rol_fuGysc36ODvKYBtX", - "name": "read_only", - "description": "Read Only" + "id": "rol_WO708ZFi8mkRKQDQ", + "name": "Reader", + "description": "Can only read things" }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_6hr4gXp3Hn5l13B6", "body": { "name": "read_osnly", "description": "Readz Only" }, "status": 200, "response": { - "id": "rol_Y0tWSxZo0gb0Lpjn", + "id": "rol_6hr4gXp3Hn5l13B6", "name": "read_osnly", "description": "Readz Only" }, @@ -4780,7 +5931,56 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "cd2e3be4-4860-48e2-b94e-bd655b137f17", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2023-10-27T17:59:29.019781220Z", + "updated_at": "2023-12-22T14:29:44.358545101Z", + "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": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", + "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": 6, + "build_time": "2023-12-22T14:29:44.874355310Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z" + }, + "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": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", + "deployed": true, + "number": 6, + "built_at": "2023-12-22T14:29:44.874355310Z", + "secrets": [], + "status": "built", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -4788,8 +5988,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/actions/actions", + "method": "PATCH", + "path": "/api/v2/actions/actions/cd2e3be4-4860-48e2-b94e-bd655b137f17", "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", @@ -4803,9 +6003,9 @@ } ] }, - "status": 201, + "status": 200, "response": { - "id": "4527e217-e35f-43e0-b09e-9b89156783f0", + "id": "cd2e3be4-4860-48e2-b94e-bd655b137f17", "name": "My Custom Action", "supported_triggers": [ { @@ -4813,14 +6013,43 @@ "version": "v2" } ], - "created_at": "2023-10-27T17:58:23.504387838Z", - "updated_at": "2023-10-27T17:58:23.527609242Z", + "created_at": "2023-10-27T17:59:29.019781220Z", + "updated_at": "2023-12-22T14:30:19.209271313Z", "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": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", + "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": 6, + "build_time": "2023-12-22T14:29:44.874355310Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z" + }, + "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": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", + "deployed": true, + "number": 6, + "built_at": "2023-12-22T14:29:44.874355310Z", + "secrets": [], + "status": "built", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true }, "rawHeaders": [], "responseIsBinary": false @@ -4834,7 +6063,7 @@ "response": { "actions": [ { - "id": "4527e217-e35f-43e0-b09e-9b89156783f0", + "id": "cd2e3be4-4860-48e2-b94e-bd655b137f17", "name": "My Custom Action", "supported_triggers": [ { @@ -4842,14 +6071,43 @@ "version": "v2" } ], - "created_at": "2023-10-27T17:58:23.504387838Z", - "updated_at": "2023-10-27T17:58:23.527609242Z", + "created_at": "2023-10-27T17:59:29.019781220Z", + "updated_at": "2023-12-22T14:30:19.209271313Z", "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": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", + "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": 6, + "build_time": "2023-12-22T14:29:44.874355310Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z" + }, + "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": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", + "deployed": true, + "number": 6, + "built_at": "2023-12-22T14:29:44.874355310Z", + "secrets": [], + "status": "built", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true } ], "total": 1, @@ -4861,19 +6119,19 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "POST", - "path": "/api/v2/actions/actions/4527e217-e35f-43e0-b09e-9b89156783f0/deploy", + "path": "/api/v2/actions/actions/cd2e3be4-4860-48e2-b94e-bd655b137f17/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": "aa09492f-33b0-4c1c-82cc-d52f70749fa7", + "id": "28097193-08ee-4253-9cef-f2ada02bd903", "deployed": false, - "number": 1, + "number": 7, "secrets": [], "status": "built", - "created_at": "2023-10-27T17:58:23.825684110Z", - "updated_at": "2023-10-27T17:58:23.825684110Z", + "created_at": "2023-12-22T14:30:19.553934995Z", + "updated_at": "2023-12-22T14:30:19.553934995Z", "runtime": "node16", "supported_triggers": [ { @@ -4882,7 +6140,7 @@ } ], "action": { - "id": "4527e217-e35f-43e0-b09e-9b89156783f0", + "id": "cd2e3be4-4860-48e2-b94e-bd655b137f17", "name": "My Custom Action", "supported_triggers": [ { @@ -4890,8 +6148,8 @@ "version": "v2" } ], - "created_at": "2023-10-27T17:58:23.504387838Z", - "updated_at": "2023-10-27T17:58:23.504387838Z", + "created_at": "2023-10-27T17:59:29.019781220Z", + "updated_at": "2023-12-22T14:30:19.195058849Z", "all_changes_deployed": false } }, @@ -4905,10 +6163,56 @@ "body": "", "status": 200, "response": { - "organizations": [], + "organizations": [ + { + "id": "org_KGHEhn16DHYitg8j", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_oGfwJLbdRss0aiIU", + "name": "org2", + "display_name": "Organization2" + } + ], "start": 0, "limit": 50, - "total": 0 + "total": 2 + }, + "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_KGHEhn16DHYitg8j", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_oGfwJLbdRss0aiIU", + "name": "org2", + "display_name": "Organization2" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -4916,12 +6220,20 @@ { "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_KGHEhn16DHYitg8j/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_oGfwJLbdRss0aiIU/enabled_connections", "body": "", "status": 200, - "response": { - "organizations": [] - }, + "response": [], "rawHeaders": [], "responseIsBinary": false }, @@ -4937,7 +6249,7 @@ "limit": 100, "connections": [ { - "id": "con_i71jW6OTkuVtMpGT", + "id": "con_N4wxJ8dAAKN5aAbi", "options": { "mfa": { "active": true, @@ -4954,6 +6266,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -4964,6 +6281,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -4980,12 +6305,12 @@ "boo-baz-db-connection-test" ], "enabled_clients": [ - "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", - "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK" + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" ] }, { - "id": "con_WEXY9ZnXOS8DngUu", + "id": "con_qXhJkhSirvwvOHpc", "options": { "email": true, "scope": [ @@ -5001,8 +6326,8 @@ "google-oauth2" ], "enabled_clients": [ - "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", - "ShABsGq1S5Sbd8eva2qpG8PyeEn5VN61" + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK" ] } ] @@ -5012,10 +6337,25 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", + "method": "PATCH", + "path": "/api/v2/organizations/org_oGfwJLbdRss0aiIU", + "body": { + "display_name": "Organization2" + }, + "status": 200, + "response": { + "id": "org_oGfwJLbdRss0aiIU", + "display_name": "Organization2", + "name": "org2" + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/organizations/org_KGHEhn16DHYitg8j", "body": { - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", @@ -5024,34 +6364,17 @@ }, "display_name": "Organization" }, - "status": 201, + "status": 200, "response": { - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", "primary": "#57ddff" } }, + "id": "org_KGHEhn16DHYitg8j", "display_name": "Organization", - "id": "org_AvcDY3hlJsPXIrF6" - }, - "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": { - "name": "org2", - "display_name": "Organization2", - "id": "org_6JCwlF8xQAPNoP8s" + "name": "org1" }, "rawHeaders": [], "responseIsBinary": false @@ -5148,7 +6471,8 @@ "colors": { "primary": "#F8F8F2", "page_background": "#222221" - } + }, + "identifier_first": true }, "session_cookie": { "mode": "non-persistent" @@ -5169,7 +6493,7 @@ "limit": 100, "rules": [ { - "id": "rul_Sjij7JPRIyGmTeHf", + "id": "rul_C7jutXH10zOIrWjD", "enabled": true, "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", "name": "my-rule", @@ -5193,7 +6517,7 @@ "limit": 100, "rules": [ { - "id": "rul_Sjij7JPRIyGmTeHf", + "id": "rul_C7jutXH10zOIrWjD", "enabled": true, "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", "name": "my-rule", @@ -5208,7 +6532,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/rules/rul_Sjij7JPRIyGmTeHf", + "path": "/api/v2/rules/rul_C7jutXH10zOIrWjD", "body": {}, "status": 204, "response": "", @@ -5882,6 +7206,22 @@ "description": "Delete encryption keys", "value": "delete:encryption_keys" }, + { + "description": "Read Sessions", + "value": "read:sessions" + }, + { + "description": "Delete Sessions", + "value": "delete:sessions" + }, + { + "description": "Read Refresh Tokens", + "value": "read:refresh_tokens" + }, + { + "description": "Delete Refresh Tokens", + "value": "delete:refresh_tokens" + }, { "value": "read:client_credentials", "description": "Read Client Credentials" @@ -5961,21 +7301,12 @@ "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", @@ -5994,8 +7325,7 @@ "subject": "deprecated" } ], - "allowed_origins": [], - "client_id": "rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK", + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6003,28 +7333,32 @@ "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": "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", @@ -6043,7 +7377,8 @@ "subject": "deprecated" } ], - "client_id": "AuMFvd4rZcROjl8gc8QjyXfifGUh0rJL", + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6051,11 +7386,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "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 }, { @@ -6094,7 +7434,7 @@ "subject": "deprecated" } ], - "client_id": "aIN78DlIth5F3iFxZF6BGdWFMst5Qsv5", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6114,19 +7454,31 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Terraform Provider", + "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, "infinite_token_lifetime": true, "infinite_idle_token_lifetime": true, - "token_lifetime": 31557600, - "idle_token_lifetime": 2592000, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "signing_keys": [ { @@ -6135,7 +7487,7 @@ "subject": "deprecated" } ], - "client_id": "0JvkloSYOQ58IJ7bfA5RhXJprbcmPhda", + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6143,9 +7495,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 @@ -6154,31 +7509,19 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", - "allowed_clients": [], - "callbacks": [], - "client_metadata": {}, + "name": "Terraform Provider", "cross_origin_auth": false, "is_first_party": true, - "native_social_login": { - "apple": { - "enabled": false - }, - "facebook": { - "enabled": false - } - }, - "oidc_conformant": 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": false, "sso_disabled": false, "signing_keys": [ { @@ -6187,7 +7530,7 @@ "subject": "deprecated" } ], - "client_id": "ShABsGq1S5Sbd8eva2qpG8PyeEn5VN61", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6195,12 +7538,9 @@ "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 @@ -6246,7 +7586,7 @@ "subject": "deprecated" } ], - "client_id": "ywRnwJqaVZf4a6ahFzEU8A7OBFLLfeGl", + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6303,7 +7643,7 @@ "subject": "deprecated" } ], - "client_id": "ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6327,7 +7667,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/AuMFvd4rZcROjl8gc8QjyXfifGUh0rJL", + "path": "/api/v2/clients/XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "body": {}, "status": 204, "response": "", @@ -6337,7 +7677,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/rIhtaYsBG8C2yk7yi4SloLiDwJN5h9KK", + "path": "/api/v2/clients/aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", "body": {}, "status": 204, "response": "", @@ -6347,7 +7687,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/aIN78DlIth5F3iFxZF6BGdWFMst5Qsv5", + "path": "/api/v2/clients/C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "body": {}, "status": 204, "response": "", @@ -6357,7 +7697,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/0JvkloSYOQ58IJ7bfA5RhXJprbcmPhda", + "path": "/api/v2/clients/6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "body": {}, "status": 204, "response": "", @@ -6367,7 +7707,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/ShABsGq1S5Sbd8eva2qpG8PyeEn5VN61", + "path": "/api/v2/clients/hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "body": {}, "status": 204, "response": "", @@ -6377,7 +7717,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/ywRnwJqaVZf4a6ahFzEU8A7OBFLLfeGl", + "path": "/api/v2/clients/IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", "body": {}, "status": 204, "response": "", @@ -6387,7 +7727,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/clients/ODPXCHjP5ewgwaWIgoOAkfkrXoHCID4V", + "path": "/api/v2/clients/4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", "body": {}, "status": 204, "response": "", @@ -6457,7 +7797,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6504,7 +7844,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -6518,7 +7858,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -6532,7 +7872,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 }, @@ -6546,7 +7886,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -6560,7 +7900,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -6574,7 +7914,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 }, @@ -6588,7 +7928,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -6602,7 +7942,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 }, @@ -6666,34 +8006,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": "PATCH", @@ -6738,6 +8050,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", @@ -6746,24 +8083,24 @@ "status": 200, "response": [ { - "id": "lst_0000000000013776", + "id": "lst_0000000000013778", "name": "Suspended DD Log Stream", "type": "datadog", - "status": "active", + "status": "suspended", "sink": { "datadogApiKey": "some-sensitive-api-key", "datadogRegion": "us" } }, { - "id": "lst_0000000000013777", + "id": "lst_0000000000013779", "name": "Amazon EventBridge", "type": "eventbridge", "status": "active", "sink": { "awsAccountId": "123456789012", "awsRegion": "us-east-2", - "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-79a58600-ea32-48ae-bd81-e289c20ed37f/auth0.logs" + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-0da0aa0b-670c-4088-9b45-b5f59405aade/auth0.logs" }, "filters": [ { @@ -6811,24 +8148,27 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/attack-protection/breached-password-detection", + "path": "/api/v2/attack-protection/brute-force-protection", "body": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard" + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 }, "status": 200, "response": { - "enabled": false, - "shields": [], - "admin_notification_frequency": [], - "method": "standard", - "stage": { - "pre-user-registration": { - "shields": [] - } - } + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 }, "rawHeaders": [], "responseIsBinary": false @@ -6836,7 +8176,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000013776", + "path": "/api/v2/log-streams/lst_0000000000013778", "body": {}, "status": 204, "response": "", @@ -6846,7 +8186,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/log-streams/lst_0000000000013777", + "path": "/api/v2/log-streams/lst_0000000000013779", "body": {}, "status": 204, "response": "", @@ -6930,7 +8270,7 @@ "subject": "deprecated" } ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6995,7 +8335,7 @@ "limit": 100, "connections": [ { - "id": "con_i71jW6OTkuVtMpGT", + "id": "con_N4wxJ8dAAKN5aAbi", "options": { "mfa": { "active": true, @@ -7012,6 +8352,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -7022,6 +8367,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -7056,7 +8409,7 @@ "limit": 100, "connections": [ { - "id": "con_i71jW6OTkuVtMpGT", + "id": "con_N4wxJ8dAAKN5aAbi", "options": { "mfa": { "active": true, @@ -7073,6 +8426,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -7083,6 +8441,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -7108,11 +8474,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_i71jW6OTkuVtMpGT", + "path": "/api/v2/connections/con_N4wxJ8dAAKN5aAbi", "body": {}, "status": 202, "response": { - "deleted_at": "2023-10-27T17:58:32.226Z" + "deleted_at": "2023-12-22T14:30:28.055Z" }, "rawHeaders": [], "responseIsBinary": false @@ -7126,7 +8492,7 @@ "strategy": "auth0", "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD" + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ], "is_domain_connection": false, "options": { @@ -7144,7 +8510,7 @@ }, "status": 201, "response": { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_qavKC44AnXdVIktG", "options": { "mfa": { "active": true, @@ -7152,14 +8518,27 @@ }, "passwordPolicy": "good", "strategy_version": 2, - "brute_force_protection": true + "brute_force_protection": true, + "authentication_methods": { + "password": { + "enabled": true + }, + "passkey": { + "enabled": false + } + }, + "passkey_options": { + "challenge_ui": "both", + "progressive_enrollment_enabled": true, + "local_enrollment_enabled": true + } }, "strategy": "auth0", "name": "Username-Password-Authentication", "is_domain_connection": false, "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ], "realms": [ "Username-Password-Authentication" @@ -7245,7 +8624,7 @@ "subject": "deprecated" } ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7310,7 +8689,7 @@ "limit": 100, "connections": [ { - "id": "con_WEXY9ZnXOS8DngUu", + "id": "con_qXhJkhSirvwvOHpc", "options": { "email": true, "scope": [ @@ -7328,14 +8707,27 @@ "enabled_clients": [] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_qavKC44AnXdVIktG", "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", @@ -7345,8 +8737,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -7366,7 +8758,7 @@ "limit": 100, "connections": [ { - "id": "con_WEXY9ZnXOS8DngUu", + "id": "con_qXhJkhSirvwvOHpc", "options": { "email": true, "scope": [ @@ -7384,14 +8776,27 @@ "enabled_clients": [] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_qavKC44AnXdVIktG", "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", @@ -7401,8 +8806,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -7413,11 +8818,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/connections/con_WEXY9ZnXOS8DngUu", + "path": "/api/v2/connections/con_qXhJkhSirvwvOHpc", "body": {}, "status": 202, "response": { - "deleted_at": "2023-10-27T17:58:32.981Z" + "deleted_at": "2023-12-22T14:30:28.791Z" }, "rawHeaders": [], "responseIsBinary": false @@ -7499,7 +8904,7 @@ "subject": "deprecated" } ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7564,7 +8969,7 @@ "limit": 100, "client_grants": [ { - "id": "cgr_Uvfv2anWyTWpI1qQ", + "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ @@ -7742,22 +9147,22 @@ "response": { "roles": [ { - "id": "rol_VFV74oRWWXdG425f", + "id": "rol_wCNt1OJGjx5XM8xo", "name": "Admin", "description": "Can read and write things" }, { - "id": "rol_GYGhQHbigkWhaDGp", + "id": "rol_WO708ZFi8mkRKQDQ", "name": "Reader", "description": "Can only read things" }, { - "id": "rol_fuGysc36ODvKYBtX", + "id": "rol_IDZdN2XbY72UAlNg", "name": "read_only", "description": "Read Only" }, { - "id": "rol_Y0tWSxZo0gb0Lpjn", + "id": "rol_6hr4gXp3Hn5l13B6", "name": "read_osnly", "description": "Readz Only" } @@ -7772,7 +9177,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_VFV74oRWWXdG425f/permissions?include_totals=true&page=0&per_page=100", + "path": "/api/v2/roles/rol_wCNt1OJGjx5XM8xo/permissions?include_totals=true&page=0&per_page=100", "body": "", "status": 200, "response": { @@ -7787,7 +9192,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_GYGhQHbigkWhaDGp/permissions?include_totals=true&page=0&per_page=100", + "path": "/api/v2/roles/rol_WO708ZFi8mkRKQDQ/permissions?include_totals=true&page=0&per_page=100", "body": "", "status": 200, "response": { @@ -7802,7 +9207,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_fuGysc36ODvKYBtX/permissions?include_totals=true&page=0&per_page=100", + "path": "/api/v2/roles/rol_IDZdN2XbY72UAlNg/permissions?include_totals=true&page=0&per_page=100", "body": "", "status": 200, "response": { @@ -7817,7 +9222,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/roles/rol_Y0tWSxZo0gb0Lpjn/permissions?include_totals=true&page=0&per_page=100", + "path": "/api/v2/roles/rol_6hr4gXp3Hn5l13B6/permissions?include_totals=true&page=0&per_page=100", "body": "", "status": 200, "response": { @@ -7832,7 +9237,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_VFV74oRWWXdG425f", + "path": "/api/v2/roles/rol_wCNt1OJGjx5XM8xo", "body": {}, "status": 200, "response": {}, @@ -7842,7 +9247,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_GYGhQHbigkWhaDGp", + "path": "/api/v2/roles/rol_WO708ZFi8mkRKQDQ", "body": {}, "status": 200, "response": {}, @@ -7852,7 +9257,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_fuGysc36ODvKYBtX", + "path": "/api/v2/roles/rol_IDZdN2XbY72UAlNg", "body": {}, "status": 200, "response": {}, @@ -7862,7 +9267,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/roles/rol_Y0tWSxZo0gb0Lpjn", + "path": "/api/v2/roles/rol_6hr4gXp3Hn5l13B6", "body": {}, "status": 200, "response": {}, @@ -7878,7 +9283,7 @@ "response": { "actions": [ { - "id": "4527e217-e35f-43e0-b09e-9b89156783f0", + "id": "cd2e3be4-4860-48e2-b94e-bd655b137f17", "name": "My Custom Action", "supported_triggers": [ { @@ -7886,34 +9291,34 @@ "version": "v2" } ], - "created_at": "2023-10-27T17:58:23.504387838Z", - "updated_at": "2023-10-27T17:58:23.527609242Z", + "created_at": "2023-10-27T17:59:29.019781220Z", + "updated_at": "2023-12-22T14:30:19.209271313Z", "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": "aa09492f-33b0-4c1c-82cc-d52f70749fa7", + "id": "28097193-08ee-4253-9cef-f2ada02bd903", "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": "2023-10-27T17:58:23.993986433Z", - "created_at": "2023-10-27T17:58:23.825684110Z", - "updated_at": "2023-10-27T17:58:23.994943778Z" + "number": 7, + "build_time": "2023-12-22T14:30:19.616676557Z", + "created_at": "2023-12-22T14:30:19.553934995Z", + "updated_at": "2023-12-22T14:30:19.617369504Z" }, "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": "aa09492f-33b0-4c1c-82cc-d52f70749fa7", + "id": "28097193-08ee-4253-9cef-f2ada02bd903", "deployed": true, - "number": 1, - "built_at": "2023-10-27T17:58:23.993986433Z", + "number": 7, + "built_at": "2023-12-22T14:30:19.616676557Z", "secrets": [], "status": "built", - "created_at": "2023-10-27T17:58:23.825684110Z", - "updated_at": "2023-10-27T17:58:23.994943778Z", + "created_at": "2023-12-22T14:30:19.553934995Z", + "updated_at": "2023-12-22T14:30:19.617369504Z", "runtime": "node16", "supported_triggers": [ { @@ -7934,7 +9339,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/actions/actions/4527e217-e35f-43e0-b09e-9b89156783f0?force=true", + "path": "/api/v2/actions/actions/cd2e3be4-4860-48e2-b94e-bd655b137f17?force=true", "body": {}, "status": 204, "response": "", @@ -7963,7 +9368,7 @@ "response": { "organizations": [ { - "id": "org_AvcDY3hlJsPXIrF6", + "id": "org_KGHEhn16DHYitg8j", "name": "org1", "display_name": "Organization", "branding": { @@ -7974,7 +9379,7 @@ } }, { - "id": "org_6JCwlF8xQAPNoP8s", + "id": "org_oGfwJLbdRss0aiIU", "name": "org2", "display_name": "Organization2" } @@ -7995,7 +9400,7 @@ "response": { "organizations": [ { - "id": "org_AvcDY3hlJsPXIrF6", + "id": "org_KGHEhn16DHYitg8j", "name": "org1", "display_name": "Organization", "branding": { @@ -8006,7 +9411,7 @@ } }, { - "id": "org_6JCwlF8xQAPNoP8s", + "id": "org_oGfwJLbdRss0aiIU", "name": "org2", "display_name": "Organization2" } @@ -8018,7 +9423,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_AvcDY3hlJsPXIrF6/enabled_connections", + "path": "/api/v2/organizations/org_KGHEhn16DHYitg8j/enabled_connections", "body": "", "status": 200, "response": [], @@ -8028,7 +9433,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations/org_6JCwlF8xQAPNoP8s/enabled_connections", + "path": "/api/v2/organizations/org_oGfwJLbdRss0aiIU/enabled_connections", "body": "", "status": 200, "response": [], @@ -8047,14 +9452,27 @@ "limit": 100, "connections": [ { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_qavKC44AnXdVIktG", "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", @@ -8064,8 +9482,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -8076,7 +9494,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_AvcDY3hlJsPXIrF6", + "path": "/api/v2/organizations/org_oGfwJLbdRss0aiIU", "body": {}, "status": 204, "response": "", @@ -8086,7 +9504,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "DELETE", - "path": "/api/v2/organizations/org_6JCwlF8xQAPNoP8s", + "path": "/api/v2/organizations/org_KGHEhn16DHYitg8j", "body": {}, "status": 204, "response": "", @@ -8160,7 +9578,8 @@ "colors": { "primary": "#F8F8F2", "page_background": "#222221" - } + }, + "identifier_first": true }, "session_cookie": { "mode": "non-persistent" @@ -8965,6 +10384,22 @@ "description": "Delete encryption keys", "value": "delete:encryption_keys" }, + { + "description": "Read Sessions", + "value": "read:sessions" + }, + { + "description": "Delete Sessions", + "value": "delete:sessions" + }, + { + "description": "Read Refresh Tokens", + "value": "read:refresh_tokens" + }, + { + "description": "Delete Refresh Tokens", + "value": "delete:refresh_tokens" + }, { "value": "read:client_credentials", "description": "Read Client Credentials" @@ -9066,7 +10501,7 @@ "subject": "deprecated" } ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -9099,14 +10534,27 @@ "limit": 100, "connections": [ { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_qavKC44AnXdVIktG", "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", @@ -9116,8 +10564,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -9137,14 +10585,27 @@ "limit": 100, "connections": [ { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_qavKC44AnXdVIktG", "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", @@ -9154,8 +10615,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -9267,7 +10728,25 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/verify_email", + "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/stolen_credentials", "body": "", "status": 404, "response": { @@ -9297,17 +10776,14 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/enrollment_email", "body": "", - "status": 200, + "status": 404, "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 + "statusCode": 404, + "error": "Not Found", + "message": "The template does not exist.", + "errorCode": "inexistent_email_template" }, "rawHeaders": [], "responseIsBinary": false @@ -9315,7 +10791,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -9330,7 +10806,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/user_invitation", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -9345,7 +10821,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/user_invitation", "body": "", "status": 404, "response": { @@ -9379,22 +10855,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", - "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/mfa_oob_code", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -9409,7 +10870,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/password_reset", "body": "", "status": 404, "response": { @@ -9433,7 +10894,7 @@ "limit": 100, "client_grants": [ { - "id": "cgr_Uvfv2anWyTWpI1qQ", + "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ @@ -9656,25 +11117,25 @@ { "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": {}, + "response": { + "auth_token": "bar", + "sid": "foo", + "from": "from bar", + "messaging_service_sid": "foo" + }, "rawHeaders": [], "responseIsBinary": false }, { "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": { - "auth_token": "bar", - "sid": "foo", - "from": "from bar", - "messaging_service_sid": "foo" - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, @@ -9853,7 +11314,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": {}, @@ -9873,7 +11334,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": {}, @@ -9883,7 +11344,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -9893,7 +11354,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -9933,7 +11394,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": {}, @@ -9943,7 +11404,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/mfa-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -9963,7 +11424,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", "body": "", "status": 200, "response": {}, @@ -9973,7 +11434,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": {}, @@ -9983,7 +11444,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-sms/custom-text/en", "body": "", "status": 200, "response": {}, @@ -9993,7 +11454,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-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -10013,7 +11474,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": {}, @@ -10023,7 +11484,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": {}, @@ -10033,7 +11494,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/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -10053,7 +11514,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/status/custom-text/en", + "path": "/api/v2/prompts/device-flow/custom-text/en", "body": "", "status": 200, "response": {}, @@ -10135,24 +11596,13 @@ "status": 200, "response": { "triggers": [ - { - "id": "post-login", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "compatible_triggers": [] - }, { "id": "post-login", "version": "v2", "status": "DEPRECATED", "runtimes": [ "node12", - "node16", - "node18" + "node16" ], "default_runtime": "node16", "compatible_triggers": [] @@ -10164,7 +11614,6 @@ "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", @@ -10176,7 +11625,7 @@ ] }, { - "id": "credentials-exchange", + "id": "post-login", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -10187,19 +11636,6 @@ }, { "id": "credentials-exchange", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node16", - "node18", - "node18-actions" - ], - "default_runtime": "node18-actions", - "compatible_triggers": [] - }, - { - "id": "pre-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -10209,33 +11645,31 @@ "compatible_triggers": [] }, { - "id": "pre-user-registration", + "id": "credentials-exchange", "version": "v2", "status": "CURRENT", "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] }, { - "id": "post-user-registration", + "id": "pre-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] }, { - "id": "post-user-registration", + "id": "pre-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -10245,20 +11679,19 @@ "compatible_triggers": [] }, { - "id": "post-change-password", + "id": "post-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] }, { - "id": "post-change-password", + "id": "post-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -10268,12 +11701,25 @@ "compatible_triggers": [] }, { - "id": "send-phone-message", + "id": "post-change-password", + "version": "v2", + "status": "CURRENT", + "runtimes": [ + "node12", + "node16", + "node18-actions" + ], + "default_runtime": "node18-actions", + "compatible_triggers": [] + }, + { + "id": "post-change-password", "version": "v1", "status": "DEPRECATED", "runtimes": [ "node12" ], + "default_runtime": "node12", "compatible_triggers": [] }, { @@ -10283,23 +11729,38 @@ "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] }, + { + "id": "send-phone-message", + "version": "v1", + "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "compatible_triggers": [] + }, { "id": "password-reset-post-challenge", "version": "v1", "status": "CURRENT", "runtimes": [ "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] + }, + { + "id": "login-post-identifier", + "version": "v1", + "status": "CURRENT", + "default_runtime": "node18", + "runtimes": [], + "compatible_triggers": [] } ] }, @@ -10397,6 +11858,19 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 20 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -10427,18 +11901,26 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/attack-protection/suspicious-ip-throttling", "body": "", "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 @@ -10466,26 +11948,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/attack-protection/suspicious-ip-throttling", + "path": "/api/v2/attack-protection/brute-force-protection", "body": "", "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 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 97c4b75f0..6cbce2161 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 @@ -6,10 +6,19 @@ "body": "", "status": 200, "response": { - "total": 0, + "total": 1, "start": 0, "limit": 100, - "rules": [] + "rules": [ + { + "id": "rul_C7jutXH10zOIrWjD", + "enabled": true, + "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", + "name": "my-rule", + "order": 2, + "stage": "login_success" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -21,26 +30,34 @@ "body": "", "status": 200, "response": { - "total": 0, + "total": 1, "start": 0, "limit": 100, - "rules": [] + "rules": [ + { + "id": "rul_C7jutXH10zOIrWjD", + "enabled": true, + "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", + "name": "my-rule", + "order": 2, + "stage": "login_success" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/rules", + "method": "PATCH", + "path": "/api/v2/rules/rul_C7jutXH10zOIrWjD", "body": { "name": "my-rule", "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", - "stage": "login_success", "enabled": true, "order": 2 }, - "status": 201, + "status": 200, "response": { "id": "rul_C7jutXH10zOIrWjD", "enabled": true, @@ -247,7 +264,8 @@ "colors": { "primary": "#F8F8F2", "page_background": "#222221" - } + }, + "identifier_first": true }, "session_cookie": { "mode": "non-persistent" @@ -893,6 +911,22 @@ "description": "Delete encryption keys", "value": "delete:encryption_keys" }, + { + "description": "Read Sessions", + "value": "read:sessions" + }, + { + "description": "Delete Sessions", + "value": "delete:sessions" + }, + { + "description": "Read Refresh Tokens", + "value": "read:refresh_tokens" + }, + { + "description": "Delete Refresh Tokens", + "value": "delete:refresh_tokens" + }, { "value": "read:client_credentials", "description": "Read Client Credentials" @@ -924,7 +958,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -972,18 +1006,72 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", + "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": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -994,7 +1082,8 @@ "subject": "deprecated" } ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1002,377 +1091,481 @@ "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "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, - "encrypted": true, - "signing_keys": [ { - "cert": "[REDACTED]", - "key": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "allowed_origins": [], - "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", - "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": "POST", - "path": "/api/v2/clients", - "body": { - "name": "Quickstarts API (Test Application)", - "app_type": "non_interactive", - "client_metadata": { - "foo": "bar" - }, - "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 - }, - "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": "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, - "encrypted": true, - "signing_keys": [ - { - "cert": "[REDACTED]", - "key": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" - } - ], - "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", - "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": "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 + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "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 }, - "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 + { + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "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 }, - "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, - "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "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 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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 } - ], - "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", - "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", + "method": "PATCH", + "path": "/api/v2/clients/aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", "body": { - "name": "The Default App", - "allowed_clients": [], - "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, "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 - } + "lifetime_in_seconds": 36000 }, - "oidc_conformant": 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": false, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "The Default App", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", + "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/C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "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 @@ -1381,28 +1574,164 @@ "enabled": false } }, - "oidc_conformant": 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, + "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": false, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "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/XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1412,12 +1741,14 @@ }, "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": [], @@ -1425,8 +1756,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "body": { "name": "Terraform Provider", "app_type": "non_interactive", @@ -1439,8 +1770,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": { @@ -1455,7 +1785,7 @@ "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1474,11 +1804,9 @@ "rotation_type": "non-rotating" }, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } @@ -1503,26 +1831,27 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "body": { - "name": "auth0-deploy-cli-extension", + "name": "The Default App", "allowed_clients": [], - "app_type": "non_interactive", "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 + "lifetime_in_seconds": 36000 }, "native_social_login": { "apple": { @@ -1532,25 +1861,26 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": 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, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, "token_endpoint_auth_method": "client_secret_post" }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "auth0-deploy-cli-extension", + "name": "The Default App", "allowed_clients": [], "callbacks": [], "client_metadata": {}, @@ -1564,27 +1894,26 @@ "enabled": false } }, - "oidc_conformant": true, + "oidc_conformant": 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, + "token_lifetime": 2592000, + "idle_token_lifetime": 1296000, "rotation_type": "non-rotating" }, + "sso": false, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1594,8 +1923,10 @@ }, "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 @@ -1605,8 +1936,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/clients", + "method": "PATCH", + "path": "/api/v2/clients/IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", "body": { "name": "Test SPA", "allowed_clients": [], @@ -1630,8 +1961,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": { @@ -1657,7 +1987,7 @@ "http://localhost:3000" ] }, - "status": 201, + "status": 200, "response": { "tenant": "auth0-deploy-cli-e2e", "global": false, @@ -1692,11 +2022,9 @@ "rotation_type": "rotating" }, "sso_disabled": false, - "encrypted": true, "signing_keys": [ { "cert": "[REDACTED]", - "key": "[REDACTED]", "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } @@ -1727,22 +2055,121 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/emails/provider?include_fields=true&fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address", + "method": "PATCH", + "path": "/api/v2/clients/4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "body": { + "name": "auth0-deploy-cli-extension", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" + } + ], + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "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", + "path": "/api/v2/emails/provider?include_fields=true&fields=name%2Cenabled%2Ccredentials%2Csettings%2Cdefault_from_address", "body": "", - "status": 404, + "status": 200, "response": { - "statusCode": 404, - "error": "Not Found", - "message": "There is not a configured email provider", - "errorCode": "inexistent_email_provider" + "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": "POST", + "method": "PATCH", "path": "/api/v2/emails/provider?enabled=false&name=mandrill", "body": { "name": "mandrill", @@ -1752,7 +2179,7 @@ "default_from_address": "auth0-user@auth0.com", "enabled": false }, - "status": 201, + "status": 200, "response": { "name": "mandrill", "credentials": {}, @@ -1765,7 +2192,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -1779,7 +2206,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 }, @@ -1793,7 +2220,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 }, @@ -1807,7 +2234,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -1821,7 +2248,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -1835,13 +2262,13 @@ { "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 + "enabled": true }, "status": 200, "response": { - "enabled": false + "enabled": true }, "rawHeaders": [], "responseIsBinary": false @@ -1849,13 +2276,13 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { - "enabled": true + "enabled": false }, "status": 200, "response": { - "enabled": true + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -1863,7 +2290,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 }, @@ -1932,41 +2359,6 @@ "rawHeaders": [], "responseIsBinary": false }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/log-streams?paginate=false", - "body": "", - "status": 200, - "response": [], - "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": "PATCH", @@ -2015,50 +2407,144 @@ }, { "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/log-streams?paginate=false", + "body": "", "status": 200, - "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 66 - }, + "response": [ + { + "id": "lst_0000000000013778", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "suspended", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + } + }, + { + "id": "lst_0000000000013779", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "suspended", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-0da0aa0b-670c-4088-9b45-b5f59405aade/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" + } + ] + } + ], "rawHeaders": [], "responseIsBinary": false }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/log-streams", - "body": { + "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/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/log-streams/lst_0000000000013778", + "body": { "name": "Suspended DD Log Stream", "sink": { "datadogApiKey": "some-sensitive-api-key", "datadogRegion": "us" - }, - "type": "datadog" + } }, "status": 200, "response": { "id": "lst_0000000000013778", "name": "Suspended DD Log Stream", "type": "datadog", - "status": "active", + "status": "suspended", "sink": { "datadogApiKey": "some-sensitive-api-key", "datadogRegion": "us" @@ -2069,8 +2555,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/log-streams", + "method": "PATCH", + "path": "/api/v2/log-streams/lst_0000000000013779", "body": { "name": "Amazon EventBridge", "filters": [ @@ -2111,11 +2597,7 @@ "name": "auth.token_exchange.fail" } ], - "sink": { - "awsAccountId": "123456789012", - "awsRegion": "us-east-2" - }, - "type": "eventbridge" + "status": "active" }, "status": 200, "response": { @@ -2177,7 +2659,7 @@ "body": "", "status": 200, "response": { - "total": 10, + "total": 11, "start": 0, "limit": 100, "clients": [ @@ -2221,48 +2703,6 @@ ], "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, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "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, @@ -2625,6 +3065,100 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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, @@ -2669,19 +3203,93 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_N4wxJ8dAAKN5aAbi", + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -2691,8 +3299,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -2707,19 +3315,93 @@ "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_N4wxJ8dAAKN5aAbi", "options": { "mfa": { "active": true, "return_enroll_settings": true }, - "passwordPolicy": "good", - "strategy_version": 2, + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_fLZziUlqiV2KZvkh", + "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", @@ -2729,8 +3411,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -2740,11 +3422,79 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", - "body": { - "name": "boo-baz-db-connection-test", + "method": "GET", + "path": "/api/v2/connections/con_N4wxJ8dAAKN5aAbi", + "body": "", + "status": 200, + "response": { + "id": "con_N4wxJ8dAAKN5aAbi", + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ], + "realms": [ + "boo-baz-db-connection-test" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_N4wxJ8dAAKN5aAbi", + "body": { "enabled_clients": [ "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" @@ -2766,6 +3516,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -2776,6 +3531,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -2789,7 +3552,7 @@ "boo-baz-db-connection-test" ] }, - "status": 201, + "status": 200, "response": { "id": "con_N4wxJ8dAAKN5aAbi", "options": { @@ -2797,17 +3560,22 @@ "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", + "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 @@ -2818,6 +3586,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -2831,8 +3607,8 @@ "name": "boo-baz-db-connection-test", "is_domain_connection": false, "enabled_clients": [ - "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", - "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ], "realms": [ "boo-baz-db-connection-test" @@ -2848,7 +3624,7 @@ "body": "", "status": 200, "response": { - "total": 10, + "total": 11, "start": 0, "limit": 100, "clients": [ @@ -2892,48 +3668,6 @@ ], "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, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "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, @@ -3298,10 +4032,65 @@ }, { "tenant": "auth0-deploy-cli-e2e", - "global": true, + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], "callbacks": [], + "cross_origin_auth": false, "is_first_party": true, - "name": "All Applications", + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "Default App", + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -3311,12 +4100,7 @@ "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" - ], - "custom_login_page": "TEST123\n", + "sso_disabled": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -3324,11 +4108,55 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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" + ], + "custom_login_page": "TEST123\n", + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_secret": "[REDACTED]", + "custom_login_page_on": true + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -3340,7 +4168,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 3, "start": 0, "limit": 100, "connections": [ @@ -3362,6 +4190,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -3372,6 +4205,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3393,14 +4234,48 @@ ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_qXhJkhSirvwvOHpc", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" + ] + }, + { + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -3410,8 +4285,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -3426,7 +4301,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 3, "start": 0, "limit": 100, "connections": [ @@ -3448,6 +4323,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -3458,6 +4338,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -3479,14 +4367,48 @@ ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_qXhJkhSirvwvOHpc", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" + ] + }, + { + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -3496,8 +4418,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -3507,11 +4429,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", + "method": "PATCH", + "path": "/api/v2/connections/con_qXhJkhSirvwvOHpc", "body": { - "name": "google-oauth2", - "strategy": "google-oauth2", "enabled_clients": [ "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" @@ -3526,7 +4446,7 @@ "profile": true } }, - "status": 201, + "status": 200, "response": { "id": "con_qXhJkhSirvwvOHpc", "options": { @@ -3541,8 +4461,8 @@ "name": "google-oauth2", "is_domain_connection": false, "enabled_clients": [ - "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", - "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK" + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ], "realms": [ "google-oauth2" @@ -3612,7 +4532,7 @@ "body": "", "status": 200, "response": { - "total": 10, + "total": 11, "start": 0, "limit": 100, "clients": [ @@ -3656,48 +4576,6 @@ ], "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, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "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, @@ -4061,55 +4939,479 @@ "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" - ], - "custom_login_page": "TEST123\n", - "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?include_totals=true&page=0&per_page=100", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "client_grants": [ - { - "id": "cgr_Uvfv2anWyTWpI1qQ", + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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" + ], + "custom_login_page": "TEST123\n", + "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?include_totals=true&page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "client_grants": [ + { + "id": "cgr_6pIuaiQiTFy11NZU", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "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:client_credentials", + "create:client_credentials", + "update:client_credentials", + "delete:client_credentials" + ] + }, + { + "id": "cgr_KB8yL7uZ7Jv1G0e0", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "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:client_credentials", + "create:client_credentials", + "update:client_credentials", + "delete:client_credentials" + ] + }, + { + "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ @@ -4280,11 +5582,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_KB8yL7uZ7Jv1G0e0", "body": { - "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -4418,10 +5718,10 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { - "id": "cgr_saPqZnrza0C1gDas", - "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "id": "cgr_KB8yL7uZ7Jv1G0e0", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -4561,11 +5861,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_6pIuaiQiTFy11NZU", "body": { - "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", - "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", "create:client_grants", @@ -4699,10 +5997,10 @@ "delete:organization_invitations" ] }, - "status": 201, + "status": 200, "response": { - "id": "cgr_Aa6SaHhfwHIMZctB", - "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "id": "cgr_6pIuaiQiTFy11NZU", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -4847,7 +6145,43 @@ "body": "", "status": 200, "response": { - "roles": [], + "roles": [ + { + "id": "rol_wCNt1OJGjx5XM8xo", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_WO708ZFi8mkRKQDQ", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_IDZdN2XbY72UAlNg", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_6hr4gXp3Hn5l13B6", + "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_wCNt1OJGjx5XM8xo/permissions?include_totals=true&page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "permissions": [], "start": 0, "limit": 100, "total": 0 @@ -4857,8 +6191,53 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "GET", + "path": "/api/v2/roles/rol_WO708ZFi8mkRKQDQ/permissions?include_totals=true&page=0&per_page=100", + "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_IDZdN2XbY72UAlNg/permissions?include_totals=true&page=0&per_page=100", + "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_6hr4gXp3Hn5l13B6/permissions?include_totals=true&page=0&per_page=100", + "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_wCNt1OJGjx5XM8xo", "body": { "name": "Admin", "description": "Can read and write things" @@ -4874,8 +6253,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_WO708ZFi8mkRKQDQ", "body": { "name": "Reader", "description": "Can only read things" @@ -4891,8 +6270,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_IDZdN2XbY72UAlNg", "body": { "name": "read_only", "description": "Read Only" @@ -4908,8 +6287,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/roles", + "method": "PATCH", + "path": "/api/v2/roles/rol_6hr4gXp3Hn5l13B6", "body": { "name": "read_osnly", "description": "Readz Only" @@ -4930,7 +6309,56 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "cd2e3be4-4860-48e2-b94e-bd655b137f17", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2023-10-27T17:59:29.019781220Z", + "updated_at": "2023-11-16T19:35:04.694105359Z", + "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "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": 5, + "build_time": "2023-11-16T19:35:05.011917110Z", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z" + }, + "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "deployed": true, + "number": 5, + "built_at": "2023-11-16T19:35:05.011917110Z", + "secrets": [], + "status": "built", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -4938,8 +6366,8 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/actions/actions", + "method": "PATCH", + "path": "/api/v2/actions/actions/cd2e3be4-4860-48e2-b94e-bd655b137f17", "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", @@ -4953,7 +6381,7 @@ } ] }, - "status": 201, + "status": 200, "response": { "id": "cd2e3be4-4860-48e2-b94e-bd655b137f17", "name": "My Custom Action", @@ -4964,13 +6392,42 @@ } ], "created_at": "2023-10-27T17:59:29.019781220Z", - "updated_at": "2023-10-27T17:59:29.029582969Z", + "updated_at": "2023-12-22T14:29:44.358545101Z", "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "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": 5, + "build_time": "2023-11-16T19:35:05.011917110Z", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z" + }, + "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "deployed": true, + "number": 5, + "built_at": "2023-11-16T19:35:05.011917110Z", + "secrets": [], + "status": "built", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true }, "rawHeaders": [], "responseIsBinary": false @@ -4993,13 +6450,42 @@ } ], "created_at": "2023-10-27T17:59:29.019781220Z", - "updated_at": "2023-10-27T17:59:29.029582969Z", + "updated_at": "2023-12-22T14:29:44.358545101Z", "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "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": 5, + "build_time": "2023-11-16T19:35:05.011917110Z", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z" + }, + "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "deployed": true, + "number": 5, + "built_at": "2023-11-16T19:35:05.011917110Z", + "secrets": [], + "status": "built", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true } ], "total": 1, @@ -5017,13 +6503,13 @@ "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": "4fb88542-f3f6-4ded-bf87-fed2d7275f46", + "id": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", "deployed": false, - "number": 1, + "number": 6, "secrets": [], "status": "built", - "created_at": "2023-10-27T17:59:29.317291Z", - "updated_at": "2023-10-27T17:59:29.317291Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.712329131Z", "runtime": "node16", "supported_triggers": [ { @@ -5041,7 +6527,7 @@ } ], "created_at": "2023-10-27T17:59:29.019781220Z", - "updated_at": "2023-10-27T17:59:29.019781220Z", + "updated_at": "2023-12-22T14:29:44.336890709Z", "all_changes_deployed": false } }, @@ -5055,10 +6541,27 @@ "body": "", "status": 200, "response": { - "organizations": [], + "organizations": [ + { + "id": "org_KGHEhn16DHYitg8j", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_oGfwJLbdRss0aiIU", + "name": "org2", + "display_name": "Organization2" + } + ], "start": 0, "limit": 50, - "total": 0 + "total": 2 }, "rawHeaders": [], "responseIsBinary": false @@ -5070,11 +6573,48 @@ "body": "", "status": 200, "response": { - "organizations": [] + "organizations": [ + { + "id": "org_KGHEhn16DHYitg8j", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_oGfwJLbdRss0aiIU", + "name": "org2", + "display_name": "Organization2" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_KGHEhn16DHYitg8j/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_oGfwJLbdRss0aiIU/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -5104,6 +6644,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -5114,6 +6659,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -5151,19 +6704,32 @@ "google-oauth2" ], "enabled_clients": [ - "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", - "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK" + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -5173,8 +6739,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -5184,10 +6750,9 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/organizations", + "method": "PATCH", + "path": "/api/v2/organizations/org_KGHEhn16DHYitg8j", "body": { - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", @@ -5196,34 +6761,33 @@ }, "display_name": "Organization" }, - "status": 201, + "status": 200, "response": { - "name": "org1", "branding": { "colors": { "page_background": "#fff5f5", "primary": "#57ddff" } }, + "id": "org_KGHEhn16DHYitg8j", "display_name": "Organization", - "id": "org_KGHEhn16DHYitg8j" + "name": "org1" }, "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_oGfwJLbdRss0aiIU", "body": { - "name": "org2", "display_name": "Organization2" }, - "status": 201, + "status": 200, "response": { - "name": "org2", + "id": "org_oGfwJLbdRss0aiIU", "display_name": "Organization2", - "id": "org_oGfwJLbdRss0aiIU" + "name": "org2" }, "rawHeaders": [], "responseIsBinary": false @@ -5320,7 +6884,8 @@ "colors": { "primary": "#F8F8F2", "page_background": "#222221" - } + }, + "identifier_first": true }, "session_cookie": { "mode": "non-persistent" @@ -6044,6 +7609,22 @@ "description": "Delete encryption keys", "value": "delete:encryption_keys" }, + { + "description": "Read Sessions", + "value": "read:sessions" + }, + { + "description": "Delete Sessions", + "value": "delete:sessions" + }, + { + "description": "Read Refresh Tokens", + "value": "read:refresh_tokens" + }, + { + "description": "Delete Refresh Tokens", + "value": "delete:refresh_tokens" + }, { "value": "read:client_credentials", "description": "Read Client Credentials" @@ -6075,7 +7656,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -6119,48 +7700,6 @@ ], "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, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "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, @@ -6522,6 +8061,100 @@ "client_credentials" ], "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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 } ] }, @@ -6531,7 +8164,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", + "path": "/api/v2/clients/3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", "body": { "name": "Default App", "callbacks": [], @@ -6588,7 +8221,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -6625,7 +8258,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -6639,7 +8272,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -6653,7 +8286,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -6667,7 +8300,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 }, @@ -6681,7 +8314,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 }, @@ -6695,7 +8328,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -6709,7 +8342,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -6723,7 +8356,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -6781,8 +8414,33 @@ }, "status": 200, "response": { - "universal_login_experience": "new", - "identifier_first": true + "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/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 @@ -6838,6 +8496,16 @@ "body": "", "status": 200, "response": [ + { + "id": "lst_0000000000013778", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "suspended", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + } + }, { "id": "lst_0000000000013779", "name": "Amazon EventBridge", @@ -6886,46 +8554,11 @@ "name": "auth.token_exchange.fail" } ] - }, - { - "id": "lst_0000000000013778", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - } } ], "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": "PATCH", @@ -6961,7 +8594,7 @@ "body": "", "status": 200, "response": { - "total": 10, + "total": 11, "start": 0, "limit": 100, "clients": [ @@ -7005,48 +8638,6 @@ ], "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, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "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, @@ -7409,6 +9000,100 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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, @@ -7475,6 +9160,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -7485,6 +9175,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -7506,14 +9204,27 @@ ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -7523,8 +9234,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -7561,6 +9272,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -7571,6 +9287,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -7592,14 +9316,27 @@ ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -7609,8 +9346,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -7621,26 +9358,39 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_jqlYBGj0EXGWWwDq", + "path": "/api/v2/connections/con_fLZziUlqiV2KZvkh", "body": "", "status": 200, "response": { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ], "realms": [ "Username-Password-Authentication" @@ -7652,11 +9402,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_jqlYBGj0EXGWWwDq", + "path": "/api/v2/connections/con_fLZziUlqiV2KZvkh", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD" + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ], "is_domain_connection": false, "options": { @@ -7665,7 +9415,20 @@ "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 }, "realms": [ @@ -7674,14 +9437,27 @@ }, "status": 200, "response": { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -7689,7 +9465,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD" + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ], "realms": [ "Username-Password-Authentication" @@ -7705,69 +9481,28 @@ "body": "", "status": 200, "response": { - "total": 10, + "total": 11, "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" - }, - "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 - }, + "limit": 100, + "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], - "cross_origin_auth": 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": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, - "sso_disabled": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -7775,7 +9510,7 @@ "subject": "deprecated" } ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -7783,10 +9518,9 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "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 @@ -8153,6 +9887,100 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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, @@ -8219,6 +10047,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -8229,6 +10062,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -8266,19 +10107,32 @@ "google-oauth2" ], "enabled_clients": [ - "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", - "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK" + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -8288,8 +10142,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -8326,6 +10180,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -8336,6 +10195,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -8373,19 +10240,32 @@ "google-oauth2" ], "enabled_clients": [ - "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", - "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK" + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -8395,8 +10275,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -8411,7 +10291,7 @@ "body": "", "status": 200, "response": { - "total": 10, + "total": 11, "start": 0, "limit": 100, "clients": [ @@ -8455,48 +10335,6 @@ ], "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, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "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, @@ -8859,6 +10697,100 @@ ], "custom_login_page_on": true }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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, @@ -8908,8 +10840,8 @@ "limit": 100, "client_grants": [ { - "id": "cgr_Aa6SaHhfwHIMZctB", - "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "id": "cgr_6pIuaiQiTFy11NZU", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -9045,8 +10977,8 @@ ] }, { - "id": "cgr_Uvfv2anWyTWpI1qQ", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "id": "cgr_KB8yL7uZ7Jv1G0e0", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -9162,11 +11094,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", @@ -9183,35 +11110,12 @@ "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:client_credentials", - "create:client_credentials", - "update:client_credentials", - "delete:client_credentials" + "delete:organization_invitations" ] }, { - "id": "cgr_saPqZnrza0C1gDas", - "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "id": "cgr_t3j1isctGZmOVylt", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -9327,6 +11231,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", @@ -9343,7 +11252,30 @@ "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:client_credentials", + "create:client_credentials", + "update:client_credentials", + "delete:client_credentials" ] } ] @@ -9465,33 +11397,33 @@ } ], "created_at": "2023-10-27T17:59:29.019781220Z", - "updated_at": "2023-10-27T17:59:29.029582969Z", + "updated_at": "2023-12-22T14:29:44.358545101Z", "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": "4fb88542-f3f6-4ded-bf87-fed2d7275f46", + "id": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", "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": "2023-10-27T17:59:29.414649344Z", - "created_at": "2023-10-27T17:59:29.317291Z", - "updated_at": "2023-10-27T17:59:29.416228236Z" + "number": 6, + "build_time": "2023-12-22T14:29:44.874355310Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z" }, "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": "4fb88542-f3f6-4ded-bf87-fed2d7275f46", + "id": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", "deployed": true, - "number": 1, - "built_at": "2023-10-27T17:59:29.414649344Z", + "number": 6, + "built_at": "2023-12-22T14:29:44.874355310Z", "secrets": [], "status": "built", - "created_at": "2023-10-27T17:59:29.317291Z", - "updated_at": "2023-10-27T17:59:29.416228236Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z", "runtime": "node16", "supported_triggers": [ { @@ -9527,33 +11459,33 @@ } ], "created_at": "2023-10-27T17:59:29.019781220Z", - "updated_at": "2023-10-27T17:59:29.029582969Z", + "updated_at": "2023-12-22T14:29:44.358545101Z", "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": "4fb88542-f3f6-4ded-bf87-fed2d7275f46", + "id": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", "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": "2023-10-27T17:59:29.414649344Z", - "created_at": "2023-10-27T17:59:29.317291Z", - "updated_at": "2023-10-27T17:59:29.416228236Z" + "number": 6, + "build_time": "2023-12-22T14:29:44.874355310Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z" }, "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": "4fb88542-f3f6-4ded-bf87-fed2d7275f46", + "id": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", "deployed": true, - "number": 1, - "built_at": "2023-10-27T17:59:29.414649344Z", + "number": 6, + "built_at": "2023-12-22T14:29:44.874355310Z", "secrets": [], "status": "built", - "created_at": "2023-10-27T17:59:29.317291Z", - "updated_at": "2023-10-27T17:59:29.416228236Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z", "runtime": "node16", "supported_triggers": [ { @@ -9681,6 +11613,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -9691,6 +11628,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -9728,19 +11673,32 @@ "google-oauth2" ], "enabled_clients": [ - "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", - "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK" + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -9750,8 +11708,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -9826,7 +11784,8 @@ "colors": { "primary": "#F8F8F2", "page_background": "#222221" - } + }, + "identifier_first": true }, "session_cookie": { "mode": "non-persistent" @@ -10640,6 +12599,22 @@ "description": "Delete encryption keys", "value": "delete:encryption_keys" }, + { + "description": "Read Sessions", + "value": "read:sessions" + }, + { + "description": "Delete Sessions", + "value": "delete:sessions" + }, + { + "description": "Read Refresh Tokens", + "value": "read:refresh_tokens" + }, + { + "description": "Delete Refresh Tokens", + "value": "delete:refresh_tokens" + }, { "value": "read:client_credentials", "description": "Read Client Credentials" @@ -10671,7 +12646,7 @@ "body": "", "status": 200, "response": { - "total": 9, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -10715,48 +12690,6 @@ ], "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, - "signing_keys": [ - { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", - "subject": "deprecated" - } - ], - "client_id": "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "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, @@ -11118,6 +13051,100 @@ "client_credentials" ], "custom_login_page_on": true + }, + { + "tenant": "auth0-deploy-cli-e2e", + "global": false, + "is_token_endpoint_ip_header_trusted": false, + "name": "Auth0 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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 } ] }, @@ -11153,6 +13180,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -11163,6 +13195,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -11184,14 +13224,27 @@ ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -11201,8 +13254,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -11239,6 +13292,11 @@ }, "disable_signup": false, "passwordPolicy": "low", + "passkey_options": { + "challenge_ui": "both", + "local_enrollment_enabled": true, + "progressive_enrollment_enabled": true + }, "password_history": { "size": 5, "enable": false @@ -11249,6 +13307,14 @@ "enable": true, "dictionary": [] }, + "authentication_methods": { + "passkey": { + "enabled": false + }, + "password": { + "enabled": true + } + }, "brute_force_protection": true, "password_no_personal_info": { "enable": true @@ -11286,19 +13352,32 @@ "google-oauth2" ], "enabled_clients": [ - "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", - "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK" + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" ] }, { - "id": "con_jqlYBGj0EXGWWwDq", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -11308,8 +13387,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "HbMrMJdzWweU8OT06lnGlw6kOvsegmJD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -11406,32 +13485,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", + "path": "/api/v2/email-templates/welcome_email", "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", + "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 - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "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" + "urlLifetimeInSeconds": 3600, + "enabled": false }, "rawHeaders": [], "responseIsBinary": false @@ -11439,7 +13504,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "path": "/api/v2/email-templates/reset_email", "body": "", "status": 404, "response": { @@ -11454,7 +13519,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/verify_email_by_code", "body": "", "status": 404, "response": { @@ -11469,18 +13534,17 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": "", "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 @@ -11488,7 +13552,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/stolen_credentials", "body": "", "status": 404, "response": { @@ -11503,7 +13567,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/reset_email", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -11518,7 +13582,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/stolen_credentials", + "path": "/api/v2/email-templates/enrollment_email", "body": "", "status": 404, "response": { @@ -11533,7 +13597,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": { @@ -11575,6 +13639,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", @@ -11587,8 +13666,8 @@ "limit": 100, "client_grants": [ { - "id": "cgr_Aa6SaHhfwHIMZctB", - "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "id": "cgr_6pIuaiQiTFy11NZU", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -11724,8 +13803,8 @@ ] }, { - "id": "cgr_Uvfv2anWyTWpI1qQ", - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "id": "cgr_KB8yL7uZ7Jv1G0e0", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -11841,11 +13920,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", @@ -11862,35 +13936,12 @@ "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:client_credentials", - "create:client_credentials", - "update:client_credentials", - "delete:client_credentials" + "delete:organization_invitations" ] }, { - "id": "cgr_saPqZnrza0C1gDas", - "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "id": "cgr_t3j1isctGZmOVylt", + "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ "read:client_grants", @@ -12006,6 +14057,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", @@ -12022,7 +14078,30 @@ "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:client_credentials", + "create:client_credentials", + "update:client_credentials", + "delete:client_credentials" ] } ] @@ -12362,7 +14441,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": {}, @@ -12382,7 +14461,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-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12392,7 +14471,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12402,7 +14481,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/signup/custom-text/en", + "path": "/api/v2/prompts/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12462,7 +14541,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-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12472,7 +14551,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/mfa-phone/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12482,7 +14561,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-push/custom-text/en", "body": "", "status": 200, "response": {}, @@ -12522,7 +14601,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": {}, @@ -12532,7 +14611,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": {}, @@ -12542,7 +14621,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": {}, @@ -12641,33 +14720,33 @@ } ], "created_at": "2023-10-27T17:59:29.019781220Z", - "updated_at": "2023-10-27T17:59:29.029582969Z", + "updated_at": "2023-12-22T14:29:44.358545101Z", "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": "4fb88542-f3f6-4ded-bf87-fed2d7275f46", + "id": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", "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": "2023-10-27T17:59:29.414649344Z", - "created_at": "2023-10-27T17:59:29.317291Z", - "updated_at": "2023-10-27T17:59:29.416228236Z" + "number": 6, + "build_time": "2023-12-22T14:29:44.874355310Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z" }, "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": "4fb88542-f3f6-4ded-bf87-fed2d7275f46", + "id": "b5df71e7-485e-4d2a-b333-db8ec9d22a98", "deployed": true, - "number": 1, - "built_at": "2023-10-27T17:59:29.414649344Z", + "number": 6, + "built_at": "2023-12-22T14:29:44.874355310Z", "secrets": [], "status": "built", - "created_at": "2023-10-27T17:59:29.317291Z", - "updated_at": "2023-10-27T17:59:29.416228236Z", + "created_at": "2023-12-22T14:29:44.712329131Z", + "updated_at": "2023-12-22T14:29:44.876223084Z", "runtime": "node16", "supported_triggers": [ { @@ -12693,6 +14772,17 @@ "status": 200, "response": { "triggers": [ + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node12", + "node16" + ], + "default_runtime": "node16", + "compatible_triggers": [] + }, { "id": "post-login", "version": "v3", @@ -12700,7 +14790,6 @@ "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", @@ -12713,18 +14802,28 @@ }, { "id": "post-login", - "version": "v2", + "version": "v1", "status": "DEPRECATED", + "runtimes": [ + "node12" + ], + "default_runtime": "node12", + "compatible_triggers": [] + }, + { + "id": "credentials-exchange", + "version": "v2", + "status": "CURRENT", "runtimes": [ "node12", "node16", - "node18" + "node18-actions" ], - "default_runtime": "node16", + "default_runtime": "node18-actions", "compatible_triggers": [] }, { - "id": "post-login", + "id": "credentials-exchange", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -12734,7 +14833,7 @@ "compatible_triggers": [] }, { - "id": "credentials-exchange", + "id": "pre-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -12744,20 +14843,19 @@ "compatible_triggers": [] }, { - "id": "credentials-exchange", + "id": "pre-user-registration", "version": "v2", "status": "CURRENT", "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] }, { - "id": "pre-user-registration", + "id": "post-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -12766,19 +14864,6 @@ "default_runtime": "node12", "compatible_triggers": [] }, - { - "id": "pre-user-registration", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node16", - "node18", - "node18-actions" - ], - "default_runtime": "node18-actions", - "compatible_triggers": [] - }, { "id": "post-user-registration", "version": "v2", @@ -12786,22 +14871,11 @@ "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] }, - { - "id": "post-user-registration", - "version": "v1", - "status": "DEPRECATED", - "runtimes": [ - "node12" - ], - "default_runtime": "node12", - "compatible_triggers": [] - }, { "id": "post-change-password", "version": "v1", @@ -12819,7 +14893,6 @@ "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", @@ -12841,7 +14914,6 @@ "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", @@ -12853,11 +14925,18 @@ "status": "CURRENT", "runtimes": [ "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] + }, + { + "id": "login-post-identifier", + "version": "v1", + "status": "CURRENT", + "default_runtime": "node18", + "runtimes": [], + "compatible_triggers": [] } ] }, @@ -12955,6 +15034,19 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings", + "body": "", + "status": 200, + "response": { + "bindings": [], + "per_page": 20 + }, + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -13036,26 +15128,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", @@ -13102,6 +15174,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", @@ -13109,6 +15201,16 @@ "body": "", "status": 200, "response": [ + { + "id": "lst_0000000000013778", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "suspended", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + } + }, { "id": "lst_0000000000013779", "name": "Amazon EventBridge", @@ -13157,16 +15259,6 @@ "name": "auth.token_exchange.fail" } ] - }, - { - "id": "lst_0000000000013778", - "name": "Suspended DD Log Stream", - "type": "datadog", - "status": "active", - "sink": { - "datadogApiKey": "some-sensitive-api-key", - "datadogRegion": "us" - } } ], "rawHeaders": [], diff --git a/test/e2e/recordings/should-deploy-without-throwing-an-error.json b/test/e2e/recordings/should-deploy-without-throwing-an-error.json index 3c8dbf440..c4bc55623 100644 --- a/test/e2e/recordings/should-deploy-without-throwing-an-error.json +++ b/test/e2e/recordings/should-deploy-without-throwing-an-error.json @@ -6,10 +6,19 @@ "body": "", "status": 200, "response": { - "total": 0, + "total": 1, "start": 0, "limit": 100, - "rules": [] + "rules": [ + { + "id": "rul_C7jutXH10zOIrWjD", + "enabled": true, + "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", + "name": "my-rule", + "order": 2, + "stage": "login_success" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -21,10 +30,19 @@ "body": "", "status": 200, "response": { - "total": 0, + "total": 1, "start": 0, "limit": 100, - "rules": [] + "rules": [ + { + "id": "rul_C7jutXH10zOIrWjD", + "enabled": true, + "script": "function (user, context, callback) {\n callback(null, user, context);\n}\n", + "name": "my-rule", + "order": 2, + "stage": "login_success" + } + ] }, "rawHeaders": [], "responseIsBinary": false @@ -696,6 +714,22 @@ "description": "Delete encryption keys", "value": "delete:encryption_keys" }, + { + "description": "Read Sessions", + "value": "read:sessions" + }, + { + "description": "Delete Sessions", + "value": "delete:sessions" + }, + { + "description": "Read Refresh Tokens", + "value": "read:refresh_tokens" + }, + { + "description": "Delete Refresh Tokens", + "value": "delete:refresh_tokens" + }, { "value": "read:client_credentials", "description": "Read Client Credentials" @@ -727,7 +761,7 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 10, "start": 0, "limit": 100, "clients": [ @@ -735,18 +769,112 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "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" + }, + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", + "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": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -757,7 +885,8 @@ "subject": "deprecated" } ], - "client_id": "WM31waMImeHDtQnjVLPzg2uvu00vgdim", + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -765,23 +894,133 @@ "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": "Deploy CLI", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "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": "Terraform Provider", "cross_origin_auth": false, + "is_first_party": true, + "oidc_conformant": true, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -791,6 +1030,7 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, + "sso_disabled": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -798,7 +1038,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -812,73 +1052,281 @@ "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/WM31waMImeHDtQnjVLPzg2uvu00vgdim", - "body": { - "name": "Default App", - "callbacks": [], - "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 - }, - "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, - "signing_keys": [ + }, { - "cert": "[REDACTED]", - "pkcs7": "[REDACTED]", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "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 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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": "PATCH", + "path": "/api/v2/clients/3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "body": { + "name": "Default App", + "callbacks": [], + "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 + }, + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "WM31waMImeHDtQnjVLPzg2uvu00vgdim", + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -915,7 +1363,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -929,7 +1377,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -943,7 +1391,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-roaming", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -957,7 +1405,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/email", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -971,7 +1419,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/sms", "body": { "enabled": false }, @@ -985,7 +1433,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -999,7 +1447,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -1013,7 +1461,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/recovery-code", "body": { "enabled": false }, @@ -1071,7 +1519,8 @@ }, "status": 200, "response": { - "universal_login_experience": "new" + "universal_login_experience": "new", + "identifier_first": true }, "rawHeaders": [], "responseIsBinary": false @@ -1079,50 +1528,12 @@ { "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" - ], - "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?paginate=false", - "body": "", - "status": 200, - "response": [], - "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", - "block" + "admin_notification", + "block" ], "allowlist": [], "stage": { @@ -1158,6 +1569,104 @@ "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?paginate=false", + "body": "", + "status": 200, + "response": [ + { + "id": "lst_0000000000013778", + "name": "Suspended DD Log Stream", + "type": "datadog", + "status": "suspended", + "sink": { + "datadogApiKey": "some-sensitive-api-key", + "datadogRegion": "us" + } + }, + { + "id": "lst_0000000000013779", + "name": "Amazon EventBridge", + "type": "eventbridge", + "status": "suspended", + "sink": { + "awsAccountId": "123456789012", + "awsRegion": "us-east-2", + "awsPartnerEventSource": "aws.partner/auth0.com/auth0-deploy-cli-e2e-0da0aa0b-670c-4088-9b45-b5f59405aade/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" + } + ] + } + ], + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", @@ -1200,7 +1709,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 11, "start": 0, "limit": 100, "clients": [ @@ -1208,18 +1717,112 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "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" + }, + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", + "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": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -1230,7 +1833,8 @@ "subject": "deprecated" } ], - "client_id": "WM31waMImeHDtQnjVLPzg2uvu00vgdim", + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1238,23 +1842,37 @@ "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": "Deploy CLI", + "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, - "sso_disabled": false, - "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -1264,6 +1882,7 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, + "sso_disabled": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1271,7 +1890,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1279,6 +1898,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1288,10 +1908,23 @@ }, { "tenant": "auth0-deploy-cli-e2e", - "global": true, + "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, - "name": "All Applications", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, + "oidc_conformant": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -1301,12 +1934,8 @@ "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" - ], - "custom_login_page": "TEST123\n", + "sso": false, + "sso_disabled": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1314,196 +1943,96 @@ "subject": "deprecated" } ], - "client_id": "Isi93ibGHIGwmdYjsLwTOn7Gu7nwxU3V", + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "callback_url_template": false, "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/connections?strategy=auth0&include_totals=true&page=0&per_page=100", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "connections": [ - { - "id": "con_tPtALYZ6wQWOFos3", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "strategy_version": 2, - "brute_force_protection": true + "jwt_configuration": { + "alg": "RS256", + "lifetime_in_seconds": 36000, + "secret_encoded": false }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "realms": [ - "Username-Password-Authentication" + "client_aliases": [], + "token_endpoint_auth_method": "client_secret_post", + "grant_types": [ + "authorization_code", + "implicit", + "refresh_token", + "client_credentials" ], - "enabled_clients": [ - "WM31waMImeHDtQnjVLPzg2uvu00vgdim" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?strategy=auth0&include_totals=true&page=0&per_page=100", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "connections": [ + "custom_login_page_on": true + }, { - "id": "con_tPtALYZ6wQWOFos3", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "strategy_version": 2, - "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } ], - "enabled_clients": [ - "WM31waMImeHDtQnjVLPzg2uvu00vgdim" - ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections/con_tPtALYZ6wQWOFos3", - "body": "", - "status": 200, - "response": { - "id": "con_tPtALYZ6wQWOFos3", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "strategy_version": 2, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "enabled_clients": [ - "WM31waMImeHDtQnjVLPzg2uvu00vgdim" - ], - "realms": [ - "Username-Password-Authentication" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "PATCH", - "path": "/api/v2/connections/con_tPtALYZ6wQWOFos3", - "body": { - "enabled_clients": [ - "WM31waMImeHDtQnjVLPzg2uvu00vgdim", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ], - "is_domain_connection": false, - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true - }, - "passwordPolicy": "good", - "strategy_version": 2, - "brute_force_protection": true - }, - "realms": [ - "Username-Password-Authentication" - ] - }, - "status": 200, - "response": { - "id": "con_tPtALYZ6wQWOFos3", - "options": { - "mfa": { - "active": true, - "return_enroll_settings": true + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "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 }, - "passwordPolicy": "good", - "strategy_version": 2, - "brute_force_protection": true - }, - "strategy": "auth0", - "name": "Username-Password-Authentication", - "is_domain_connection": false, - "enabled_clients": [ - "WM31waMImeHDtQnjVLPzg2uvu00vgdim", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" - ], - "realms": [ - "Username-Password-Authentication" - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/clients?include_totals=true&page=0&per_page=100", - "body": "", - "status": 200, - "response": { - "total": 3, - "start": 0, - "limit": 100, - "clients": [ { "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", - "callbacks": [], + "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": "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_disabled": false, "signing_keys": [ @@ -1513,7 +2042,7 @@ "subject": "deprecated" } ], - "client_id": "WM31waMImeHDtQnjVLPzg2uvu00vgdim", + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1521,11 +2050,16 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], + "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 }, @@ -1533,11 +2067,72 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Deploy CLI", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "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 CLI - dev", + "allowed_clients": [], + "callbacks": [], "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": false + } + }, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -1547,6 +2142,8 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, + "sso_disabled": false, + "oidc_conformant": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1554,7 +2151,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1562,6 +2159,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1569,6 +2167,48 @@ ], "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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, @@ -1609,61 +2249,209 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections?include_totals=true&page=0&per_page=100", + "path": "/api/v2/connections?strategy=auth0&include_totals=true&page=0&per_page=100", "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_tPtALYZ6wQWOFos3", + "id": "con_N4wxJ8dAAKN5aAbi", "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, - "brute_force_protection": true + "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": "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", - "WM31waMImeHDtQnjVLPzg2uvu00vgdim" + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" ] - } - ] - }, - "rawHeaders": [], - "responseIsBinary": false - }, - { - "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/connections?include_totals=true&page=0&per_page=100", + }, + { + "id": "con_fLZziUlqiV2KZvkh", + "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", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?strategy=auth0&include_totals=true&page=0&per_page=100", "body": "", "status": 200, "response": { - "total": 1, + "total": 2, "start": 0, "limit": 100, "connections": [ { - "id": "con_tPtALYZ6wQWOFos3", + "id": "con_N4wxJ8dAAKN5aAbi", + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -1674,7 +2462,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "WM31waMImeHDtQnjVLPzg2uvu00vgdim" + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -1684,45 +2472,118 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "POST", - "path": "/api/v2/connections", + "method": "GET", + "path": "/api/v2/connections/con_fLZziUlqiV2KZvkh", + "body": "", + "status": 200, + "response": { + "id": "con_fLZziUlqiV2KZvkh", + "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", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" + ], + "realms": [ + "Username-Password-Authentication" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_fLZziUlqiV2KZvkh", "body": { - "name": "google-oauth2", - "strategy": "google-oauth2", "enabled_clients": [ - "WM31waMImeHDtQnjVLPzg2uvu00vgdim", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ], "is_domain_connection": false, "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true - } + "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 + }, + "realms": [ + "Username-Password-Authentication" + ] }, - "status": 201, + "status": 200, "response": { - "id": "con_9EN7bDJcMepWxhmM", + "id": "con_fLZziUlqiV2KZvkh", "options": { - "email": true, - "scope": [ - "email", - "profile" - ], - "profile": true + "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": "google-oauth2", - "name": "google-oauth2", + "strategy": "auth0", + "name": "Username-Password-Authentication", "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "WM31waMImeHDtQnjVLPzg2uvu00vgdim" + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ], "realms": [ - "google-oauth2" + "Username-Password-Authentication" ] }, "rawHeaders": [], @@ -1735,7 +2596,7 @@ "body": "", "status": 200, "response": { - "total": 3, + "total": 11, "start": 0, "limit": 100, "clients": [ @@ -1743,18 +2604,112 @@ "tenant": "auth0-deploy-cli-e2e", "global": false, "is_token_endpoint_ip_header_trusted": false, - "name": "Default App", + "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" + }, + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", + "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": 2592000, - "idle_token_lifetime": 1296000, + "token_lifetime": 31557600, + "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, "sso_disabled": false, @@ -1765,7 +2720,8 @@ "subject": "deprecated" } ], - "client_id": "WM31waMImeHDtQnjVLPzg2uvu00vgdim", + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1773,23 +2729,37 @@ "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": "Deploy CLI", + "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, - "sso_disabled": false, - "cross_origin_auth": false, "refresh_token": { "expiration_type": "non-expiring", "leeway": 0, @@ -1799,6 +2769,7 @@ "idle_token_lifetime": 2592000, "rotation_type": "non-rotating" }, + "sso_disabled": false, "signing_keys": [ { "cert": "[REDACTED]", @@ -1806,7 +2777,7 @@ "subject": "deprecated" } ], - "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -1814,6 +2785,7 @@ "lifetime_in_seconds": 36000, "secret_encoded": false }, + "client_aliases": [], "token_endpoint_auth_method": "client_secret_post", "app_type": "non_interactive", "grant_types": [ @@ -1822,55 +2794,1542 @@ "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" - ], - "custom_login_page": "TEST123\n", - "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?include_totals=true&page=0&per_page=100", - "body": "", - "status": 200, - "response": { - "total": 1, - "start": 0, - "limit": 100, - "client_grants": [ - { - "id": "cgr_Uvfv2anWyTWpI1qQ", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "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 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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" + ], + "custom_login_page": "TEST123\n", + "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/connections?include_totals=true&page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "connections": [ + { + "id": "con_N4wxJ8dAAKN5aAbi", + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_qXhJkhSirvwvOHpc", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" + ] + }, + { + "id": "con_fLZziUlqiV2KZvkh", + "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", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/connections?include_totals=true&page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "connections": [ + { + "id": "con_N4wxJ8dAAKN5aAbi", + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_qXhJkhSirvwvOHpc", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "realms": [ + "google-oauth2" + ], + "enabled_clients": [ + "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU" + ] + }, + { + "id": "con_fLZziUlqiV2KZvkh", + "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", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" + ] + } + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "PATCH", + "path": "/api/v2/connections/con_qXhJkhSirvwvOHpc", + "body": { + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" + ], + "is_domain_connection": false, + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + } + }, + "status": 200, + "response": { + "id": "con_qXhJkhSirvwvOHpc", + "options": { + "email": true, + "scope": [ + "email", + "profile" + ], + "profile": true + }, + "strategy": "google-oauth2", + "name": "google-oauth2", + "is_domain_connection": false, + "enabled_clients": [ + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" + ], + "realms": [ + "google-oauth2" + ] + }, + "rawHeaders": [], + "responseIsBinary": false + }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/clients?include_totals=true&page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "total": 11, + "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" + }, + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "aiCLMsJhaiAU5AQF6ivtGhOgX5kdVrew", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "allowed_origins": [], + "client_id": "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "6O6nqtWY3q8ZeCsWotJCX6aQkFEv2owK", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "IkrAr3QznUL7J5YBXjNabFo1R5En7Vth", + "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "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 CLI - dev", + "allowed_clients": [], + "callbacks": [], + "cross_origin_auth": false, + "is_first_party": true, + "logo_uri": "https://dev.assets.com/photos/foo", + "native_social_login": { + "apple": { + "enabled": false + }, + "facebook": { + "enabled": 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" + }, + "sso_disabled": false, + "oidc_conformant": false, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "7ZcjK0IBwTWmVGJyTfXSMpaSuyCfXTcf", + "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": "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, + "signing_keys": [ + { + "cert": "[REDACTED]", + "pkcs7": "[REDACTED]", + "subject": "deprecated" + } + ], + "client_id": "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC", + "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" + ], + "custom_login_page": "TEST123\n", + "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?include_totals=true&page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "total": 3, + "start": 0, + "limit": 100, + "client_grants": [ + { + "id": "cgr_6pIuaiQiTFy11NZU", + "client_id": "hDDRxPqUrBYtyNqiQ8frHkBmIE9YI2Wm", + "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:client_credentials", + "create:client_credentials", + "update:client_credentials", + "delete:client_credentials" + ] + }, + { + "id": "cgr_KB8yL7uZ7Jv1G0e0", + "client_id": "C7rgq9izKWOshVEWDXXN6b4U9kO2pG4I", + "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:client_credentials", + "create:client_credentials", + "update:client_credentials", + "delete:client_credentials" + ] + }, + { + "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ @@ -2046,7 +4505,88 @@ "body": "", "status": 200, "response": { - "roles": [], + "roles": [ + { + "id": "rol_wCNt1OJGjx5XM8xo", + "name": "Admin", + "description": "Can read and write things" + }, + { + "id": "rol_WO708ZFi8mkRKQDQ", + "name": "Reader", + "description": "Can only read things" + }, + { + "id": "rol_IDZdN2XbY72UAlNg", + "name": "read_only", + "description": "Read Only" + }, + { + "id": "rol_6hr4gXp3Hn5l13B6", + "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_wCNt1OJGjx5XM8xo/permissions?include_totals=true&page=0&per_page=100", + "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_WO708ZFi8mkRKQDQ/permissions?include_totals=true&page=0&per_page=100", + "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_IDZdN2XbY72UAlNg/permissions?include_totals=true&page=0&per_page=100", + "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_6hr4gXp3Hn5l13B6/permissions?include_totals=true&page=0&per_page=100", + "body": "", + "status": 200, + "response": { + "permissions": [], "start": 0, "limit": 100, "total": 0 @@ -2061,7 +4601,56 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "cd2e3be4-4860-48e2-b94e-bd655b137f17", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2023-10-27T17:59:29.019781220Z", + "updated_at": "2023-11-16T19:35:04.694105359Z", + "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "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": 5, + "build_time": "2023-11-16T19:35:05.011917110Z", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z" + }, + "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "deployed": true, + "number": 5, + "built_at": "2023-11-16T19:35:05.011917110Z", + "secrets": [], + "status": "built", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -2074,7 +4663,56 @@ "body": "", "status": 200, "response": { - "actions": [], + "actions": [ + { + "id": "cd2e3be4-4860-48e2-b94e-bd655b137f17", + "name": "My Custom Action", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ], + "created_at": "2023-10-27T17:59:29.019781220Z", + "updated_at": "2023-11-16T19:35:04.694105359Z", + "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "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": 5, + "build_time": "2023-11-16T19:35:05.011917110Z", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z" + }, + "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": "e1460a38-8de0-41ae-9a7c-568a6c3ff764", + "deployed": true, + "number": 5, + "built_at": "2023-11-16T19:35:05.011917110Z", + "secrets": [], + "status": "built", + "created_at": "2023-11-16T19:35:04.935549769Z", + "updated_at": "2023-11-16T19:35:05.014859868Z", + "runtime": "node16", + "supported_triggers": [ + { + "id": "post-login", + "version": "v2" + } + ] + }, + "all_changes_deployed": true + } + ], + "total": 1, "per_page": 100 }, "rawHeaders": [], @@ -2087,10 +4725,27 @@ "body": "", "status": 200, "response": { - "organizations": [], + "organizations": [ + { + "id": "org_KGHEhn16DHYitg8j", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_oGfwJLbdRss0aiIU", + "name": "org2", + "display_name": "Organization2" + } + ], "start": 0, "limit": 50, - "total": 0 + "total": 2 }, "rawHeaders": [], "responseIsBinary": false @@ -2102,11 +4757,48 @@ "body": "", "status": 200, "response": { - "organizations": [] + "organizations": [ + { + "id": "org_KGHEhn16DHYitg8j", + "name": "org1", + "display_name": "Organization", + "branding": { + "colors": { + "page_background": "#fff5f5", + "primary": "#57ddff" + } + } + }, + { + "id": "org_oGfwJLbdRss0aiIU", + "name": "org2", + "display_name": "Organization2" + } + ] }, "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/organizations/org_KGHEhn16DHYitg8j/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_oGfwJLbdRss0aiIU/enabled_connections", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -2114,12 +4806,73 @@ "body": "", "status": 200, "response": { - "total": 2, + "total": 3, "start": 0, "limit": 100, "connections": [ { - "id": "con_9EN7bDJcMepWxhmM", + "id": "con_N4wxJ8dAAKN5aAbi", + "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": [ + "4MrfAJP6yC2ZwoTZoc7iSeNrf02CFUSU", + "XU3HEdULg0LbN6de15xJ7IJXlN8yzc2i" + ] + }, + { + "id": "con_qXhJkhSirvwvOHpc", "options": { "email": true, "scope": [ @@ -2136,18 +4889,31 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "WM31waMImeHDtQnjVLPzg2uvu00vgdim" + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] }, { - "id": "con_tPtALYZ6wQWOFos3", + "id": "con_fLZziUlqiV2KZvkh", "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", @@ -2158,7 +4924,7 @@ ], "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "WM31waMImeHDtQnjVLPzg2uvu00vgdim" + "3dmvWupfZ4RuAQBjkXOtFrwMrNqpw7rC" ] } ] @@ -2184,7 +4950,7 @@ "status": 200, "response": { "allowed_logout_urls": [ - "https://travel0.com/logoutCallback" + "https://mycompany.org/logoutCallback" ], "change_password": { "enabled": true, @@ -2220,7 +4986,7 @@ "disable_clickjack_protection_headers": false, "enable_pipeline2": false }, - "friendly_name": "This tenant name should be preserved", + "friendly_name": "My Test Tenant", "guardian_mfa_page": { "enabled": true, "html": "MFA\n" @@ -2229,13 +4995,14 @@ "picture_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Grandmas_marathon_finishers.png", "sandbox_version": "12", "session_lifetime": 3.0166666666666666, - "support_email": "support@travel0.com", - "support_url": "https://travel0.com/support", + "support_email": "support@mycompany.org", + "support_url": "https://mycompany.org/support", "universal_login": { "colors": { "primary": "#F8F8F2", "page_background": "#222221" - } + }, + "identifier_first": true }, "session_cookie": { "mode": "non-persistent" 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 025626acf..f951a8e69 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 @@ -795,6 +795,22 @@ "description": "Delete encryption keys", "value": "delete:encryption_keys" }, + { + "description": "Read Sessions", + "value": "read:sessions" + }, + { + "description": "Delete Sessions", + "value": "delete:sessions" + }, + { + "description": "Read Refresh Tokens", + "value": "read:refresh_tokens" + }, + { + "description": "Delete Refresh Tokens", + "value": "delete:refresh_tokens" + }, { "value": "read:client_credentials", "description": "Read Client Credentials" @@ -896,7 +912,7 @@ "subject": "deprecated" } ], - "client_id": "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -929,14 +945,27 @@ "limit": 100, "connections": [ { - "id": "con_jhN5HBbQHUJEcF6n", + "id": "con_qavKC44AnXdVIktG", "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", @@ -946,8 +975,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -967,14 +996,27 @@ "limit": 100, "connections": [ { - "id": "con_jhN5HBbQHUJEcF6n", + "id": "con_qavKC44AnXdVIktG", "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", @@ -984,8 +1026,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -1082,25 +1124,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/verify_email", - "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", + "path": "/api/v2/email-templates/verify_email_by_code", "body": "", "status": 404, "response": { @@ -1115,14 +1139,18 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/blocked_account", + "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 @@ -1130,18 +1158,17 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/welcome_email", + "path": "/api/v2/email-templates/verify_email", "body": "", "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 @@ -1149,7 +1176,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/reset_email", "body": "", "status": 404, "response": { @@ -1179,7 +1206,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/enrollment_email", + "path": "/api/v2/email-templates/change_password", "body": "", "status": 404, "response": { @@ -1194,7 +1221,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/change_password", + "path": "/api/v2/email-templates/mfa_oob_code", "body": "", "status": 404, "response": { @@ -1209,7 +1236,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/email-templates/password_reset", + "path": "/api/v2/email-templates/blocked_account", "body": "", "status": 404, "response": { @@ -1224,7 +1251,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/enrollment_email", "body": "", "status": 404, "response": { @@ -1251,6 +1278,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", @@ -1263,7 +1305,7 @@ "limit": 100, "client_grants": [ { - "id": "cgr_Uvfv2anWyTWpI1qQ", + "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ @@ -1486,25 +1528,25 @@ { "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": { - "auth_token": "bar", - "sid": "foo", - "from": "from bar", - "messaging_service_sid": "foo" - }, + "response": {}, "rawHeaders": [], "responseIsBinary": false }, { "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": {}, + "response": { + "auth_token": "bar", + "sid": "foo", + "from": "from bar", + "messaging_service_sid": "foo" + }, "rawHeaders": [], "responseIsBinary": false }, @@ -1683,7 +1725,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-password/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1703,7 +1745,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": {}, @@ -1713,7 +1755,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/login-email-verification/custom-text/en", + "path": "/api/v2/prompts/signup/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1723,7 +1765,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": {}, @@ -1733,7 +1775,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/login-email-verification/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1763,7 +1805,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": {}, @@ -1773,7 +1815,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": {}, @@ -1783,7 +1825,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": {}, @@ -1793,7 +1835,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-voice/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1803,7 +1845,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": {}, @@ -1813,7 +1855,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa-voice/custom-text/en", + "path": "/api/v2/prompts/mfa-webauthn/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1843,7 +1885,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": {}, @@ -1853,7 +1895,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/prompts/mfa/custom-text/en", + "path": "/api/v2/prompts/mfa-recovery-code/custom-text/en", "body": "", "status": 200, "response": {}, @@ -1873,7 +1915,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": {}, @@ -1883,7 +1925,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": {}, @@ -1975,6 +2017,17 @@ "default_runtime": "node12", "compatible_triggers": [] }, + { + "id": "post-login", + "version": "v2", + "status": "DEPRECATED", + "runtimes": [ + "node12", + "node16" + ], + "default_runtime": "node16", + "compatible_triggers": [] + }, { "id": "post-login", "version": "v3", @@ -1982,7 +2035,6 @@ "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", @@ -1994,32 +2046,29 @@ ] }, { - "id": "post-login", + "id": "credentials-exchange", "version": "v2", - "status": "DEPRECATED", + "status": "CURRENT", "runtimes": [ "node12", "node16", - "node18" + "node18-actions" ], - "default_runtime": "node16", + "default_runtime": "node18-actions", "compatible_triggers": [] }, { "id": "credentials-exchange", - "version": "v2", - "status": "CURRENT", + "version": "v1", + "status": "DEPRECATED", "runtimes": [ - "node12", - "node16", - "node18", - "node18-actions" + "node12" ], - "default_runtime": "node18-actions", + "default_runtime": "node12", "compatible_triggers": [] }, { - "id": "credentials-exchange", + "id": "pre-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -2035,14 +2084,13 @@ "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] }, { - "id": "pre-user-registration", + "id": "post-user-registration", "version": "v1", "status": "DEPRECATED", "runtimes": [ @@ -2053,22 +2101,23 @@ }, { "id": "post-user-registration", - "version": "v1", - "status": "DEPRECATED", + "version": "v2", + "status": "CURRENT", "runtimes": [ - "node12" + "node12", + "node16", + "node18-actions" ], - "default_runtime": "node12", + "default_runtime": "node18-actions", "compatible_triggers": [] }, { - "id": "post-user-registration", + "id": "post-change-password", "version": "v2", "status": "CURRENT", "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", @@ -2084,19 +2133,6 @@ "default_runtime": "node12", "compatible_triggers": [] }, - { - "id": "post-change-password", - "version": "v2", - "status": "CURRENT", - "runtimes": [ - "node12", - "node16", - "node18", - "node18-actions" - ], - "default_runtime": "node18-actions", - "compatible_triggers": [] - }, { "id": "send-phone-message", "version": "v2", @@ -2104,7 +2140,6 @@ "runtimes": [ "node12", "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", @@ -2125,11 +2160,18 @@ "status": "CURRENT", "runtimes": [ "node16", - "node18", "node18-actions" ], "default_runtime": "node18-actions", "compatible_triggers": [] + }, + { + "id": "login-post-identifier", + "version": "v1", + "status": "CURRENT", + "default_runtime": "node18", + "runtimes": [], + "compatible_triggers": [] } ] }, @@ -2230,14 +2272,12 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/organizations?include_totals=true", + "path": "/api/v2/actions/triggers/login-post-identifier/bindings", "body": "", "status": 200, "response": { - "organizations": [], - "start": 0, - "limit": 50, - "total": 0 + "bindings": [], + "per_page": 20 }, "rawHeaders": [], "responseIsBinary": false @@ -2245,11 +2285,14 @@ { "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", "body": "", "status": 200, "response": { - "organizations": [] + "organizations": [], + "start": 0, + "limit": 50, + "total": 0 }, "rawHeaders": [], "responseIsBinary": false @@ -2257,18 +2300,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/attack-protection/brute-force-protection", + "path": "/api/v2/organizations?include_totals=true&take=50", "body": "", "status": 200, "response": { - "enabled": true, - "shields": [ - "block", - "user_notification" - ], - "mode": "count_per_identifier_and_ip", - "allowlist": [], - "max_attempts": 10 + "organizations": [] }, "rawHeaders": [], "responseIsBinary": false @@ -2320,6 +2356,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", @@ -2580,7 +2635,8 @@ "colors": { "primary": "#F8F8F2", "page_background": "#222221" - } + }, + "identifier_first": true }, "session_cookie": { "mode": "non-persistent" @@ -3226,6 +3282,22 @@ "description": "Delete encryption keys", "value": "delete:encryption_keys" }, + { + "description": "Read Sessions", + "value": "read:sessions" + }, + { + "description": "Delete Sessions", + "value": "delete:sessions" + }, + { + "description": "Read Refresh Tokens", + "value": "read:refresh_tokens" + }, + { + "description": "Delete Refresh Tokens", + "value": "delete:refresh_tokens" + }, { "value": "read:client_credentials", "description": "Read Client Credentials" @@ -3327,7 +3399,7 @@ "subject": "deprecated" } ], - "client_id": "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3351,7 +3423,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/clients/GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", + "path": "/api/v2/clients/aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "body": { "name": "Default App", "callbacks": [], @@ -3408,7 +3480,7 @@ "subject": "/CN=auth0-deploy-cli-e2e.us.auth0.com" } ], - "client_id": "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3445,7 +3517,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/push-notification", + "path": "/api/v2/guardian/factors/email", "body": { "enabled": false }, @@ -3459,7 +3531,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/duo", + "path": "/api/v2/guardian/factors/webauthn-roaming", "body": { "enabled": false }, @@ -3473,7 +3545,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 }, @@ -3487,7 +3559,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/otp", + "path": "/api/v2/guardian/factors/webauthn-platform", "body": { "enabled": false }, @@ -3501,7 +3573,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 }, @@ -3515,7 +3587,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/webauthn-platform", + "path": "/api/v2/guardian/factors/push-notification", "body": { "enabled": false }, @@ -3529,7 +3601,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/recovery-code", + "path": "/api/v2/guardian/factors/duo", "body": { "enabled": false }, @@ -3543,7 +3615,7 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PUT", - "path": "/api/v2/guardian/factors/sms", + "path": "/api/v2/guardian/factors/otp", "body": { "enabled": false }, @@ -3644,34 +3716,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": "PATCH", @@ -3718,11 +3762,29 @@ }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", - "method": "GET", - "path": "/api/v2/log-streams?paginate=false", - "body": "", + "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": [], + "response": { + "enabled": true, + "shields": [ + "block", + "user_notification" + ], + "mode": "count_per_identifier_and_ip", + "allowlist": [], + "max_attempts": 10 + }, "rawHeaders": [], "responseIsBinary": false }, @@ -3756,6 +3818,16 @@ "rawHeaders": [], "responseIsBinary": false }, + { + "scope": "https://deploy-cli-dev.eu.auth0.com:443", + "method": "GET", + "path": "/api/v2/log-streams?paginate=false", + "body": "", + "status": 200, + "response": [], + "rawHeaders": [], + "responseIsBinary": false + }, { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", @@ -3843,7 +3915,7 @@ "subject": "deprecated" } ], - "client_id": "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -3908,14 +3980,27 @@ "limit": 100, "connections": [ { - "id": "con_jhN5HBbQHUJEcF6n", + "id": "con_qavKC44AnXdVIktG", "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", @@ -3925,8 +4010,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -3946,14 +4031,27 @@ "limit": 100, "connections": [ { - "id": "con_jhN5HBbQHUJEcF6n", + "id": "con_qavKC44AnXdVIktG", "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", @@ -3963,8 +4061,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -3975,26 +4073,39 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "GET", - "path": "/api/v2/connections/con_jhN5HBbQHUJEcF6n", + "path": "/api/v2/connections/con_qavKC44AnXdVIktG", "body": "", "status": 200, "response": { - "id": "con_jhN5HBbQHUJEcF6n", + "id": "con_qavKC44AnXdVIktG", "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": [ - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ], "realms": [ "Username-Password-Authentication" @@ -4006,11 +4117,11 @@ { "scope": "https://deploy-cli-dev.eu.auth0.com:443", "method": "PATCH", - "path": "/api/v2/connections/con_jhN5HBbQHUJEcF6n", + "path": "/api/v2/connections/con_qavKC44AnXdVIktG", "body": { "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD" + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ], "is_domain_connection": false, "options": { @@ -4019,7 +4130,20 @@ "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 }, "realms": [ @@ -4028,14 +4152,27 @@ }, "status": 200, "response": { - "id": "con_jhN5HBbQHUJEcF6n", + "id": "con_qavKC44AnXdVIktG", "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", @@ -4043,7 +4180,7 @@ "is_domain_connection": false, "enabled_clients": [ "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD" + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ], "realms": [ "Username-Password-Authentication" @@ -4129,7 +4266,7 @@ "subject": "deprecated" } ], - "client_id": "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4194,14 +4331,27 @@ "limit": 100, "connections": [ { - "id": "con_jhN5HBbQHUJEcF6n", + "id": "con_qavKC44AnXdVIktG", "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", @@ -4211,8 +4361,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -4232,14 +4382,27 @@ "limit": 100, "connections": [ { - "id": "con_jhN5HBbQHUJEcF6n", + "id": "con_qavKC44AnXdVIktG", "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", @@ -4249,8 +4412,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -4389,7 +4552,7 @@ "subject": "deprecated" } ], - "client_id": "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", + "client_id": "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza", "callback_url_template": false, "client_secret": "[REDACTED]", "jwt_configuration": { @@ -4454,7 +4617,7 @@ "limit": 100, "client_grants": [ { - "id": "cgr_Uvfv2anWyTWpI1qQ", + "id": "cgr_t3j1isctGZmOVylt", "client_id": "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", "audience": "https://auth0-deploy-cli-e2e.us.auth0.com/api/v2/", "scope": [ @@ -4725,14 +4888,27 @@ "limit": 100, "connections": [ { - "id": "con_jhN5HBbQHUJEcF6n", + "id": "con_qavKC44AnXdVIktG", "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", @@ -4742,8 +4918,8 @@ "Username-Password-Authentication" ], "enabled_clients": [ - "GunrGye8hwbrx4eUMZJvsSuAhjiLsLdD", - "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE" + "Vp0gMRF8PtMzekil38qWoj4Fjw2VjRZE", + "aeVst9TwA6QPHDkpexs1vfl9PiQBJUza" ] } ] @@ -4846,7 +5022,8 @@ "colors": { "primary": "#F8F8F2", "page_background": "#222221" - } + }, + "identifier_first": true }, "session_cookie": { "mode": "non-persistent"