auth0-deploy-cli 8.21.0 → 8.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/.circleci/config.yml +57 -5
  2. package/CHANGELOG.md +46 -2
  3. package/README.md +1 -1
  4. package/eslint.config.js +131 -0
  5. package/lib/args.js +0 -1
  6. package/lib/commands/export.js +41 -49
  7. package/lib/commands/import.js +36 -43
  8. package/lib/commands/index.js +0 -1
  9. package/lib/configFactory.js +0 -1
  10. package/lib/context/defaults.d.ts +1 -0
  11. package/lib/context/defaults.js +57 -10
  12. package/lib/context/directory/handlers/actions.js +40 -39
  13. package/lib/context/directory/handlers/attackProtection.js +22 -34
  14. package/lib/context/directory/handlers/branding.js +12 -21
  15. package/lib/context/directory/handlers/clientGrants.js +52 -62
  16. package/lib/context/directory/handlers/clients.js +44 -57
  17. package/lib/context/directory/handlers/connectionProfiles.d.ts +1 -1
  18. package/lib/context/directory/handlers/connectionProfiles.js +20 -30
  19. package/lib/context/directory/handlers/connections.js +32 -41
  20. package/lib/context/directory/handlers/customDomains.js +9 -21
  21. package/lib/context/directory/handlers/databases.js +37 -35
  22. package/lib/context/directory/handlers/emailProvider.js +22 -36
  23. package/lib/context/directory/handlers/emailTemplates.js +20 -29
  24. package/lib/context/directory/handlers/flowVaultConnections.js +40 -49
  25. package/lib/context/directory/handlers/flows.js +38 -48
  26. package/lib/context/directory/handlers/forms.js +38 -48
  27. package/lib/context/directory/handlers/guardianFactorProviders.js +9 -21
  28. package/lib/context/directory/handlers/guardianFactorTemplates.js +9 -21
  29. package/lib/context/directory/handlers/guardianFactors.js +9 -21
  30. package/lib/context/directory/handlers/guardianPhoneFactorMessageTypes.js +8 -20
  31. package/lib/context/directory/handlers/guardianPhoneFactorSelectedProvider.js +8 -20
  32. package/lib/context/directory/handlers/guardianPolicies.js +8 -20
  33. package/lib/context/directory/handlers/hooks.js +24 -34
  34. package/lib/context/directory/handlers/index.js +4 -1
  35. package/lib/context/directory/handlers/logStreams.js +12 -24
  36. package/lib/context/directory/handlers/networkACLs.js +22 -34
  37. package/lib/context/directory/handlers/organizations.js +39 -44
  38. package/lib/context/directory/handlers/pages.js +31 -37
  39. package/lib/context/directory/handlers/phoneProvider.js +12 -24
  40. package/lib/context/directory/handlers/phoneTemplates.d.ts +6 -0
  41. package/lib/context/directory/handlers/phoneTemplates.js +39 -0
  42. package/lib/context/directory/handlers/prompts.js +58 -76
  43. package/lib/context/directory/handlers/resourceServers.d.ts +1 -1
  44. package/lib/context/directory/handlers/resourceServers.js +18 -30
  45. package/lib/context/directory/handlers/roles.js +21 -31
  46. package/lib/context/directory/handlers/rules.js +22 -32
  47. package/lib/context/directory/handlers/rulesConfigs.js +3 -15
  48. package/lib/context/directory/handlers/selfServiceProfiles.js +28 -40
  49. package/lib/context/directory/handlers/tenant.js +14 -34
  50. package/lib/context/directory/handlers/themes.js +9 -21
  51. package/lib/context/directory/handlers/tokenExchangeProfiles.d.ts +5 -0
  52. package/lib/context/directory/handlers/tokenExchangeProfiles.js +41 -0
  53. package/lib/context/directory/handlers/triggers.d.ts +1 -1
  54. package/lib/context/directory/handlers/triggers.js +16 -26
  55. package/lib/context/directory/handlers/userAttributeProfiles.d.ts +1 -1
  56. package/lib/context/directory/handlers/userAttributeProfiles.js +16 -26
  57. package/lib/context/directory/index.js +66 -80
  58. package/lib/context/index.js +7 -18
  59. package/lib/context/yaml/handlers/actions.js +39 -41
  60. package/lib/context/yaml/handlers/attackProtection.js +27 -41
  61. package/lib/context/yaml/handlers/branding.js +47 -69
  62. package/lib/context/yaml/handlers/clientGrants.js +26 -40
  63. package/lib/context/yaml/handlers/clients.js +69 -84
  64. package/lib/context/yaml/handlers/connectionProfiles.d.ts +1 -1
  65. package/lib/context/yaml/handlers/connectionProfiles.js +20 -34
  66. package/lib/context/yaml/handlers/connections.js +63 -67
  67. package/lib/context/yaml/handlers/customDomains.js +7 -19
  68. package/lib/context/yaml/handlers/databases.js +63 -65
  69. package/lib/context/yaml/handlers/emailProvider.js +22 -37
  70. package/lib/context/yaml/handlers/emailTemplates.js +28 -39
  71. package/lib/context/yaml/handlers/flowVaultConnections.js +37 -50
  72. package/lib/context/yaml/handlers/flows.js +55 -66
  73. package/lib/context/yaml/handlers/forms.js +55 -66
  74. package/lib/context/yaml/handlers/guardianFactorProviders.js +7 -19
  75. package/lib/context/yaml/handlers/guardianFactorTemplates.js +7 -19
  76. package/lib/context/yaml/handlers/guardianFactors.js +7 -19
  77. package/lib/context/yaml/handlers/guardianPhoneFactorMessageTypes.js +7 -19
  78. package/lib/context/yaml/handlers/guardianPhoneFactorSelectedProvider.js +7 -19
  79. package/lib/context/yaml/handlers/guardianPolicies.js +7 -19
  80. package/lib/context/yaml/handlers/hooks.js +34 -48
  81. package/lib/context/yaml/handlers/index.js +4 -1
  82. package/lib/context/yaml/handlers/logStreams.js +16 -30
  83. package/lib/context/yaml/handlers/networkACLs.js +25 -39
  84. package/lib/context/yaml/handlers/organizations.js +37 -46
  85. package/lib/context/yaml/handlers/pages.js +31 -39
  86. package/lib/context/yaml/handlers/phoneProvider.js +17 -31
  87. package/lib/context/yaml/handlers/phoneTemplates.d.ts +6 -0
  88. package/lib/context/yaml/handlers/phoneTemplates.js +25 -0
  89. package/lib/context/yaml/handlers/prompts.js +22 -47
  90. package/lib/context/yaml/handlers/resourceServers.d.ts +1 -1
  91. package/lib/context/yaml/handlers/resourceServers.js +21 -33
  92. package/lib/context/yaml/handlers/roles.js +19 -33
  93. package/lib/context/yaml/handlers/rules.js +28 -39
  94. package/lib/context/yaml/handlers/rulesConfigs.js +14 -28
  95. package/lib/context/yaml/handlers/selfServiceProfiles.js +29 -43
  96. package/lib/context/yaml/handlers/tenant.js +19 -41
  97. package/lib/context/yaml/handlers/themes.js +7 -19
  98. package/lib/context/yaml/handlers/tokenExchangeProfiles.d.ts +5 -0
  99. package/lib/context/yaml/handlers/tokenExchangeProfiles.js +27 -0
  100. package/lib/context/yaml/handlers/triggers.d.ts +1 -1
  101. package/lib/context/yaml/handlers/triggers.js +15 -29
  102. package/lib/context/yaml/handlers/userAttributeProfiles.d.ts +1 -1
  103. package/lib/context/yaml/handlers/userAttributeProfiles.js +7 -19
  104. package/lib/context/yaml/index.js +120 -128
  105. package/lib/index.d.ts +4 -96
  106. package/lib/index.js +24 -34
  107. package/lib/keywordPreservation.d.ts +1 -1
  108. package/lib/keywordPreservation.js +11 -6
  109. package/lib/logger.js +0 -1
  110. package/lib/readonly.js +3 -4
  111. package/lib/sessionDurationsToMinutes.js +0 -1
  112. package/lib/tools/auth0/client.js +108 -127
  113. package/lib/tools/auth0/handlers/actions.d.ts +8 -26
  114. package/lib/tools/auth0/handlers/actions.js +138 -149
  115. package/lib/tools/auth0/handlers/attackProtection.js +80 -92
  116. package/lib/tools/auth0/handlers/branding.js +75 -99
  117. package/lib/tools/auth0/handlers/clientGrants.d.ts +2 -9
  118. package/lib/tools/auth0/handlers/clientGrants.js +68 -73
  119. package/lib/tools/auth0/handlers/clients.d.ts +25 -13
  120. package/lib/tools/auth0/handlers/clients.js +134 -86
  121. package/lib/tools/auth0/handlers/connectionProfiles.d.ts +3 -1
  122. package/lib/tools/auth0/handlers/connectionProfiles.js +36 -32
  123. package/lib/tools/auth0/handlers/connections.d.ts +3 -1
  124. package/lib/tools/auth0/handlers/connections.js +130 -135
  125. package/lib/tools/auth0/handlers/customDomains.d.ts +4 -1
  126. package/lib/tools/auth0/handlers/customDomains.js +43 -53
  127. package/lib/tools/auth0/handlers/databases.js +94 -114
  128. package/lib/tools/auth0/handlers/default.d.ts +2 -2
  129. package/lib/tools/auth0/handlers/default.js +210 -171
  130. package/lib/tools/auth0/handlers/emailProvider.js +41 -52
  131. package/lib/tools/auth0/handlers/emailTemplates.d.ts +1 -0
  132. package/lib/tools/auth0/handlers/emailTemplates.js +54 -70
  133. package/lib/tools/auth0/handlers/flowVaultConnections.d.ts +5 -12
  134. package/lib/tools/auth0/handlers/flowVaultConnections.js +108 -143
  135. package/lib/tools/auth0/handlers/flows.d.ts +2 -3
  136. package/lib/tools/auth0/handlers/flows.js +92 -129
  137. package/lib/tools/auth0/handlers/forms.d.ts +3 -3
  138. package/lib/tools/auth0/handlers/forms.js +98 -112
  139. package/lib/tools/auth0/handlers/guardianFactorProviders.js +61 -84
  140. package/lib/tools/auth0/handlers/guardianFactorTemplates.js +46 -68
  141. package/lib/tools/auth0/handlers/guardianFactors.js +35 -45
  142. package/lib/tools/auth0/handlers/guardianPhoneFactorMessageTypes.js +29 -45
  143. package/lib/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.js +29 -45
  144. package/lib/tools/auth0/handlers/guardianPolicies.js +20 -35
  145. package/lib/tools/auth0/handlers/hooks.js +123 -153
  146. package/lib/tools/auth0/handlers/index.js +4 -1
  147. package/lib/tools/auth0/handlers/logStreams.js +42 -47
  148. package/lib/tools/auth0/handlers/networkACLs.d.ts +5 -4
  149. package/lib/tools/auth0/handlers/networkACLs.js +115 -133
  150. package/lib/tools/auth0/handlers/organizations.d.ts +10 -9
  151. package/lib/tools/auth0/handlers/organizations.js +360 -429
  152. package/lib/tools/auth0/handlers/pages.js +74 -83
  153. package/lib/tools/auth0/handlers/phoneProvider.d.ts +2 -2
  154. package/lib/tools/auth0/handlers/phoneProvider.js +69 -82
  155. package/lib/tools/auth0/handlers/phoneTemplates.d.ts +63 -0
  156. package/lib/tools/auth0/handlers/phoneTemplates.js +229 -0
  157. package/lib/tools/auth0/handlers/prompts.d.ts +7 -7
  158. package/lib/tools/auth0/handlers/prompts.js +246 -240
  159. package/lib/tools/auth0/handlers/resourceServers.d.ts +6 -1
  160. package/lib/tools/auth0/handlers/resourceServers.js +97 -60
  161. package/lib/tools/auth0/handlers/roles.js +162 -178
  162. package/lib/tools/auth0/handlers/rules.js +144 -162
  163. package/lib/tools/auth0/handlers/rulesConfigs.js +30 -39
  164. package/lib/tools/auth0/handlers/scimHandler.d.ts +4 -3
  165. package/lib/tools/auth0/handlers/scimHandler.js +110 -132
  166. package/lib/tools/auth0/handlers/selfServiceProfiles.d.ts +12 -3
  167. package/lib/tools/auth0/handlers/selfServiceProfiles.js +173 -203
  168. package/lib/tools/auth0/handlers/tenant.d.ts +5 -3
  169. package/lib/tools/auth0/handlers/tenant.js +46 -52
  170. package/lib/tools/auth0/handlers/themes.d.ts +12 -12
  171. package/lib/tools/auth0/handlers/themes.js +86 -102
  172. package/lib/tools/auth0/handlers/tokenExchangeProfiles.d.ts +60 -0
  173. package/lib/tools/auth0/handlers/tokenExchangeProfiles.js +271 -0
  174. package/lib/tools/auth0/handlers/triggers.js +59 -75
  175. package/lib/tools/auth0/handlers/userAttributeProfiles.d.ts +3 -2
  176. package/lib/tools/auth0/handlers/userAttributeProfiles.js +41 -43
  177. package/lib/tools/auth0/index.js +35 -48
  178. package/lib/tools/auth0/schema.js +6 -4
  179. package/lib/tools/calculateChanges.js +24 -15
  180. package/lib/tools/constants.d.ts +4 -2
  181. package/lib/tools/constants.js +3 -1
  182. package/lib/tools/deploy.js +17 -29
  183. package/lib/tools/index.d.ts +3 -89
  184. package/lib/tools/index.js +3 -2
  185. package/lib/tools/utils.d.ts +1 -1
  186. package/lib/tools/utils.js +12 -22
  187. package/lib/tools/validationError.js +0 -1
  188. package/lib/types.d.ts +15 -5
  189. package/lib/types.js +0 -1
  190. package/lib/utils.d.ts +3 -58
  191. package/lib/utils.js +8 -5
  192. package/package.json +13 -12
  193. package/tsconfig.json +4 -3
  194. package/.eslintignore +0 -5
  195. package/.eslintrc +0 -69
  196. package/lib/args.js.map +0 -1
  197. package/lib/commands/export.js.map +0 -1
  198. package/lib/commands/import.js.map +0 -1
  199. package/lib/commands/index.js.map +0 -1
  200. package/lib/configFactory.js.map +0 -1
  201. package/lib/context/defaults.js.map +0 -1
  202. package/lib/context/directory/handlers/actions.js.map +0 -1
  203. package/lib/context/directory/handlers/attackProtection.js.map +0 -1
  204. package/lib/context/directory/handlers/branding.js.map +0 -1
  205. package/lib/context/directory/handlers/clientGrants.js.map +0 -1
  206. package/lib/context/directory/handlers/clients.js.map +0 -1
  207. package/lib/context/directory/handlers/connectionProfiles.js.map +0 -1
  208. package/lib/context/directory/handlers/connections.js.map +0 -1
  209. package/lib/context/directory/handlers/customDomains.js.map +0 -1
  210. package/lib/context/directory/handlers/databases.js.map +0 -1
  211. package/lib/context/directory/handlers/emailProvider.js.map +0 -1
  212. package/lib/context/directory/handlers/emailTemplates.js.map +0 -1
  213. package/lib/context/directory/handlers/flowVaultConnections.js.map +0 -1
  214. package/lib/context/directory/handlers/flows.js.map +0 -1
  215. package/lib/context/directory/handlers/forms.js.map +0 -1
  216. package/lib/context/directory/handlers/guardianFactorProviders.js.map +0 -1
  217. package/lib/context/directory/handlers/guardianFactorTemplates.js.map +0 -1
  218. package/lib/context/directory/handlers/guardianFactors.js.map +0 -1
  219. package/lib/context/directory/handlers/guardianPhoneFactorMessageTypes.js.map +0 -1
  220. package/lib/context/directory/handlers/guardianPhoneFactorSelectedProvider.js.map +0 -1
  221. package/lib/context/directory/handlers/guardianPolicies.js.map +0 -1
  222. package/lib/context/directory/handlers/hooks.js.map +0 -1
  223. package/lib/context/directory/handlers/index.js.map +0 -1
  224. package/lib/context/directory/handlers/logStreams.js.map +0 -1
  225. package/lib/context/directory/handlers/networkACLs.js.map +0 -1
  226. package/lib/context/directory/handlers/organizations.js.map +0 -1
  227. package/lib/context/directory/handlers/pages.js.map +0 -1
  228. package/lib/context/directory/handlers/phoneProvider.js.map +0 -1
  229. package/lib/context/directory/handlers/prompts.js.map +0 -1
  230. package/lib/context/directory/handlers/resourceServers.js.map +0 -1
  231. package/lib/context/directory/handlers/roles.js.map +0 -1
  232. package/lib/context/directory/handlers/rules.js.map +0 -1
  233. package/lib/context/directory/handlers/rulesConfigs.js.map +0 -1
  234. package/lib/context/directory/handlers/selfServiceProfiles.js.map +0 -1
  235. package/lib/context/directory/handlers/tenant.js.map +0 -1
  236. package/lib/context/directory/handlers/themes.js.map +0 -1
  237. package/lib/context/directory/handlers/triggers.js.map +0 -1
  238. package/lib/context/directory/handlers/userAttributeProfiles.js.map +0 -1
  239. package/lib/context/directory/index.js.map +0 -1
  240. package/lib/context/index.js.map +0 -1
  241. package/lib/context/yaml/handlers/actions.js.map +0 -1
  242. package/lib/context/yaml/handlers/attackProtection.js.map +0 -1
  243. package/lib/context/yaml/handlers/branding.js.map +0 -1
  244. package/lib/context/yaml/handlers/clientGrants.js.map +0 -1
  245. package/lib/context/yaml/handlers/clients.js.map +0 -1
  246. package/lib/context/yaml/handlers/connectionProfiles.js.map +0 -1
  247. package/lib/context/yaml/handlers/connections.js.map +0 -1
  248. package/lib/context/yaml/handlers/customDomains.js.map +0 -1
  249. package/lib/context/yaml/handlers/databases.js.map +0 -1
  250. package/lib/context/yaml/handlers/emailProvider.js.map +0 -1
  251. package/lib/context/yaml/handlers/emailTemplates.js.map +0 -1
  252. package/lib/context/yaml/handlers/flowVaultConnections.js.map +0 -1
  253. package/lib/context/yaml/handlers/flows.js.map +0 -1
  254. package/lib/context/yaml/handlers/forms.js.map +0 -1
  255. package/lib/context/yaml/handlers/guardianFactorProviders.js.map +0 -1
  256. package/lib/context/yaml/handlers/guardianFactorTemplates.js.map +0 -1
  257. package/lib/context/yaml/handlers/guardianFactors.js.map +0 -1
  258. package/lib/context/yaml/handlers/guardianPhoneFactorMessageTypes.js.map +0 -1
  259. package/lib/context/yaml/handlers/guardianPhoneFactorSelectedProvider.js.map +0 -1
  260. package/lib/context/yaml/handlers/guardianPolicies.js.map +0 -1
  261. package/lib/context/yaml/handlers/hooks.js.map +0 -1
  262. package/lib/context/yaml/handlers/index.js.map +0 -1
  263. package/lib/context/yaml/handlers/logStreams.js.map +0 -1
  264. package/lib/context/yaml/handlers/networkACLs.js.map +0 -1
  265. package/lib/context/yaml/handlers/organizations.js.map +0 -1
  266. package/lib/context/yaml/handlers/pages.js.map +0 -1
  267. package/lib/context/yaml/handlers/phoneProvider.js.map +0 -1
  268. package/lib/context/yaml/handlers/prompts.js.map +0 -1
  269. package/lib/context/yaml/handlers/resourceServers.js.map +0 -1
  270. package/lib/context/yaml/handlers/roles.js.map +0 -1
  271. package/lib/context/yaml/handlers/rules.js.map +0 -1
  272. package/lib/context/yaml/handlers/rulesConfigs.js.map +0 -1
  273. package/lib/context/yaml/handlers/selfServiceProfiles.js.map +0 -1
  274. package/lib/context/yaml/handlers/tenant.js.map +0 -1
  275. package/lib/context/yaml/handlers/themes.js.map +0 -1
  276. package/lib/context/yaml/handlers/triggers.js.map +0 -1
  277. package/lib/context/yaml/handlers/userAttributeProfiles.js.map +0 -1
  278. package/lib/context/yaml/index.js.map +0 -1
  279. package/lib/index.js.map +0 -1
  280. package/lib/keywordPreservation.js.map +0 -1
  281. package/lib/logger.js.map +0 -1
  282. package/lib/readonly.js.map +0 -1
  283. package/lib/sessionDurationsToMinutes.js.map +0 -1
  284. package/lib/tools/auth0/client.js.map +0 -1
  285. package/lib/tools/auth0/handlers/actions.js.map +0 -1
  286. package/lib/tools/auth0/handlers/attackProtection.js.map +0 -1
  287. package/lib/tools/auth0/handlers/branding.js.map +0 -1
  288. package/lib/tools/auth0/handlers/clientGrants.js.map +0 -1
  289. package/lib/tools/auth0/handlers/clients.js.map +0 -1
  290. package/lib/tools/auth0/handlers/connectionProfiles.js.map +0 -1
  291. package/lib/tools/auth0/handlers/connections.js.map +0 -1
  292. package/lib/tools/auth0/handlers/customDomains.js.map +0 -1
  293. package/lib/tools/auth0/handlers/databases.js.map +0 -1
  294. package/lib/tools/auth0/handlers/default.js.map +0 -1
  295. package/lib/tools/auth0/handlers/emailProvider.js.map +0 -1
  296. package/lib/tools/auth0/handlers/emailTemplates.js.map +0 -1
  297. package/lib/tools/auth0/handlers/flowVaultConnections.js.map +0 -1
  298. package/lib/tools/auth0/handlers/flows.js.map +0 -1
  299. package/lib/tools/auth0/handlers/forms.js.map +0 -1
  300. package/lib/tools/auth0/handlers/guardianFactorProviders.js.map +0 -1
  301. package/lib/tools/auth0/handlers/guardianFactorTemplates.js.map +0 -1
  302. package/lib/tools/auth0/handlers/guardianFactors.js.map +0 -1
  303. package/lib/tools/auth0/handlers/guardianPhoneFactorMessageTypes.js.map +0 -1
  304. package/lib/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.js.map +0 -1
  305. package/lib/tools/auth0/handlers/guardianPolicies.js.map +0 -1
  306. package/lib/tools/auth0/handlers/hooks.js.map +0 -1
  307. package/lib/tools/auth0/handlers/index.js.map +0 -1
  308. package/lib/tools/auth0/handlers/logStreams.js.map +0 -1
  309. package/lib/tools/auth0/handlers/networkACLs.js.map +0 -1
  310. package/lib/tools/auth0/handlers/organizations.js.map +0 -1
  311. package/lib/tools/auth0/handlers/pages.js.map +0 -1
  312. package/lib/tools/auth0/handlers/phoneProvider.js.map +0 -1
  313. package/lib/tools/auth0/handlers/prompts.js.map +0 -1
  314. package/lib/tools/auth0/handlers/resourceServers.js.map +0 -1
  315. package/lib/tools/auth0/handlers/roles.js.map +0 -1
  316. package/lib/tools/auth0/handlers/rules.js.map +0 -1
  317. package/lib/tools/auth0/handlers/rulesConfigs.js.map +0 -1
  318. package/lib/tools/auth0/handlers/scimHandler.js.map +0 -1
  319. package/lib/tools/auth0/handlers/selfServiceProfiles.js.map +0 -1
  320. package/lib/tools/auth0/handlers/tenant.js.map +0 -1
  321. package/lib/tools/auth0/handlers/themes.js.map +0 -1
  322. package/lib/tools/auth0/handlers/triggers.js.map +0 -1
  323. package/lib/tools/auth0/handlers/userAttributeProfiles.js.map +0 -1
  324. package/lib/tools/auth0/index.js.map +0 -1
  325. package/lib/tools/auth0/schema.js.map +0 -1
  326. package/lib/tools/calculateChanges.js.map +0 -1
  327. package/lib/tools/constants.js.map +0 -1
  328. package/lib/tools/deploy.js.map +0 -1
  329. package/lib/tools/index.js.map +0 -1
  330. package/lib/tools/utils.js.map +0 -1
  331. package/lib/tools/validationError.js.map +0 -1
  332. package/lib/types.js.map +0 -1
  333. package/lib/utils.js.map +0 -1
@@ -1,22 +1,15 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
6
  exports.schema = void 0;
7
+ const lodash_1 = require("lodash");
16
8
  const client_1 = require("../client");
17
9
  const default_1 = __importDefault(require("./default"));
18
10
  const connectionProfiles_1 = require("./connectionProfiles");
19
11
  const userAttributeProfiles_1 = require("./userAttributeProfiles");
12
+ const logger_1 = __importDefault(require("../../../logger"));
20
13
  const multiResourceRefreshTokenPoliciesSchema = {
21
14
  type: ['array', 'null'],
22
15
  description: 'A collection of policies governing multi-resource refresh token exchange (MRRT), defining how refresh tokens can be used across different resource servers',
@@ -256,13 +249,33 @@ exports.schema = {
256
249
  'admin_login_domain',
257
250
  ],
258
251
  },
252
+ token_exchange: {
253
+ type: ['object', 'null'],
254
+ description: 'Token exchange configuration for the client',
255
+ properties: {
256
+ allow_any_profile_of_type: {
257
+ type: 'array',
258
+ description: 'List of enabled token exchange profile types for this client',
259
+ items: {
260
+ type: 'string',
261
+ enum: ['custom_authentication'],
262
+ },
263
+ },
264
+ },
265
+ },
259
266
  },
260
267
  required: ['name'],
261
268
  },
262
269
  };
263
270
  class ClientHandler extends default_1.default {
264
271
  constructor(config) {
265
- super(Object.assign(Object.assign({}, config), { type: 'clients', id: 'client_id', identifiers: ['client_id', 'name'], objectFields: ['client_metadata'], stripUpdateFields: [
272
+ super({
273
+ ...config,
274
+ type: 'clients',
275
+ id: 'client_id',
276
+ identifiers: ['client_id', 'name'],
277
+ objectFields: ['client_metadata'],
278
+ stripUpdateFields: [
266
279
  // Fields not allowed during updates
267
280
  'callback_url_template',
268
281
  'signing_keys',
@@ -270,35 +283,44 @@ class ClientHandler extends default_1.default {
270
283
  'tenant',
271
284
  'jwt_configuration.secret_encoded',
272
285
  'resource_server_identifier',
273
- ] }));
286
+ ],
287
+ functions: {
288
+ update: async (
289
+ // eslint-disable-next-line camelcase
290
+ { client_id }, bodyParams) => this.client.clients.update(client_id, bodyParams),
291
+ },
292
+ });
274
293
  }
275
294
  objString(item) {
276
295
  return super.objString({ name: item.name, client_id: item.client_id });
277
296
  }
278
- processChanges(assets) {
279
- const _super = Object.create(null, {
280
- processChanges: { get: () => super.processChanges }
281
- });
282
- return __awaiter(this, void 0, void 0, function* () {
283
- const { clients } = assets;
284
- // Do nothing if not set
285
- if (!clients)
286
- return;
287
- assets.clients = yield this.sanitizeMapExpressConfiguration(this.client, clients);
288
- const excludedClients = (assets.exclude && assets.exclude.clients) || [];
289
- const { del, update, create, conflicts } = yield this.calcChanges(assets);
290
- // Always filter out the client we are using to access Auth0 Management API
291
- // As it could cause problems if it gets deleted or updated etc
292
- const currentClient = this.config('AUTH0_CLIENT_ID') || '';
293
- const filterClients = (list) => {
294
- if (excludedClients.length) {
295
- return list.filter((item) => item.client_id !== currentClient && !excludedClients.includes(item.name));
296
- }
297
- return list.filter((item) => item.client_id !== currentClient);
298
- };
299
- // Sanitize client fields
300
- const sanitizeClientFields = (list) => list.map((item) => {
301
- // For resourceServers app type `resource_server`, don't include `oidc_backchannel_logout`, `oidc_logout`, `refresh_token`
297
+ async processChanges(assets) {
298
+ const { clients } = assets;
299
+ // Do nothing if not set
300
+ if (!clients)
301
+ return;
302
+ assets.clients = await this.sanitizeMapExpressConfiguration(this.client, clients);
303
+ const excludedClients = (assets.exclude && assets.exclude.clients) || [];
304
+ const excludeThirdPartyClients = this.config('AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS') === 'true' ||
305
+ this.config('AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS') === true;
306
+ const { del, update, create, conflicts } = await this.calcChanges(assets);
307
+ // Always filter out the client we are using to access Auth0 Management API
308
+ // As it could cause problems if it gets deleted or updated etc
309
+ const currentClient = this.config('AUTH0_CLIENT_ID') || '';
310
+ /*
311
+ * Filter out:
312
+ * - The client used to access Auth0 Management API
313
+ * - Clients in the exclusion list
314
+ * - Third-party clients when AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS is enabled
315
+ */
316
+ const filterClients = (list) => list.filter((item) => item.client_id !== currentClient &&
317
+ item.name &&
318
+ !excludedClients.includes(item.name) &&
319
+ (!excludeThirdPartyClients || item.is_first_party));
320
+ // Sanitize client fields
321
+ const sanitizeClientFields = (list) => {
322
+ const sanitizedClients = this.sanitizeCrossOriginAuth(list);
323
+ return sanitizedClients.map((item) => {
302
324
  if (item.app_type === 'resource_server') {
303
325
  if ('oidc_backchannel_logout' in item) {
304
326
  delete item.oidc_backchannel_logout;
@@ -312,67 +334,93 @@ class ClientHandler extends default_1.default {
312
334
  }
313
335
  return item;
314
336
  });
315
- const changes = {
316
- del: sanitizeClientFields(filterClients(del)),
317
- update: sanitizeClientFields(filterClients(update)),
318
- create: sanitizeClientFields(filterClients(create)),
319
- conflicts: sanitizeClientFields(filterClients(conflicts)),
320
- };
321
- yield _super.processChanges.call(this, assets, Object.assign({}, changes));
337
+ };
338
+ const changes = {
339
+ del: sanitizeClientFields(filterClients(del)),
340
+ update: sanitizeClientFields(filterClients(update)),
341
+ create: sanitizeClientFields(filterClients(create)),
342
+ conflicts: sanitizeClientFields(filterClients(conflicts)),
343
+ };
344
+ await super.processChanges(assets, {
345
+ ...changes,
322
346
  });
323
347
  }
324
- getType() {
325
- return __awaiter(this, void 0, void 0, function* () {
326
- if (this.existing)
327
- return this.existing;
328
- const clients = yield (0, client_1.paginate)(this.client.clients.getAll, {
329
- paginate: true,
330
- include_totals: true,
331
- is_global: false,
332
- });
333
- this.existing = clients;
348
+ /**
349
+ * @description
350
+ * Sanitize the deprecated field `cross_origin_auth` to `cross_origin_authentication`
351
+ *
352
+ * @param {Client[]} clients - The client array to sanitize.
353
+ * @returns {Client[]} The sanitized array of clients.
354
+ */
355
+ sanitizeCrossOriginAuth(clients) {
356
+ const deprecatedClients = [];
357
+ const updatedClients = clients.map((client) => {
358
+ let updated = { ...client };
359
+ if ((0, lodash_1.has)(updated, 'cross_origin_auth')) {
360
+ const clientName = client.name || client.client_id || 'unknown client';
361
+ deprecatedClients.push(clientName);
362
+ if (!(0, lodash_1.has)(updated, 'cross_origin_authentication')) {
363
+ updated.cross_origin_authentication = updated.cross_origin_auth;
364
+ }
365
+ updated = (0, lodash_1.omit)(updated, 'cross_origin_auth');
366
+ }
367
+ return updated;
368
+ });
369
+ if (deprecatedClients.length > 0) {
370
+ logger_1.default.warn("The 'cross_origin_auth' parameter is deprecated in clients and scheduled for removal in future releases.\n" +
371
+ `Use 'cross_origin_authentication' going forward. Clients using the deprecated setting: [${deprecatedClients.join(', ')}]`);
372
+ }
373
+ return updatedClients;
374
+ }
375
+ async getType() {
376
+ if (this.existing)
334
377
  return this.existing;
378
+ const excludeThirdPartyClients = this.config('AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS') === 'true' ||
379
+ this.config('AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS') === true;
380
+ const clients = await (0, client_1.paginate)(this.client.clients.list, {
381
+ paginate: true,
382
+ is_global: false,
383
+ ...(excludeThirdPartyClients && { is_first_party: true }),
335
384
  });
385
+ const sanitizedClients = this.sanitizeCrossOriginAuth(clients);
386
+ this.existing = sanitizedClients;
387
+ return this.existing;
336
388
  }
337
389
  // convert names back to IDs for express configuration
338
- sanitizeMapExpressConfiguration(auth0Client, clientList) {
339
- return __awaiter(this, void 0, void 0, function* () {
340
- // if no clients have express configuration, return early
341
- if (!clientList.some((p) => p.express_configuration)) {
342
- return clientList;
343
- }
344
- const clientData = yield this.getType();
345
- const connectionProfiles = yield (0, connectionProfiles_1.getConnectionProfile)(auth0Client);
346
- const userAttributeProfiles = yield (0, userAttributeProfiles_1.getUserAttributeProfiles)(auth0Client);
347
- return clientList.map((client) => {
348
- var _a;
349
- if (!client.express_configuration)
350
- return client;
351
- const userAttributeProfileName = (_a = client.express_configuration) === null || _a === void 0 ? void 0 : _a.user_attribute_profile_id;
352
- if (userAttributeProfileName) {
353
- const userAttributeProfile = userAttributeProfiles === null || userAttributeProfiles === void 0 ? void 0 : userAttributeProfiles.find((uap) => uap.name === userAttributeProfileName);
354
- if (userAttributeProfile === null || userAttributeProfile === void 0 ? void 0 : userAttributeProfile.id) {
355
- client.express_configuration.user_attribute_profile_id = userAttributeProfile.id;
356
- }
390
+ async sanitizeMapExpressConfiguration(auth0Client, clientList) {
391
+ // if no clients have express configuration, return early
392
+ if (!clientList.some((p) => p.express_configuration)) {
393
+ return clientList;
394
+ }
395
+ const clientData = await this.getType();
396
+ const connectionProfiles = await (0, connectionProfiles_1.getConnectionProfile)(auth0Client);
397
+ const userAttributeProfiles = await (0, userAttributeProfiles_1.getUserAttributeProfiles)(auth0Client);
398
+ return clientList.map((client) => {
399
+ if (!client.express_configuration)
400
+ return client;
401
+ const userAttributeProfileName = client.express_configuration?.user_attribute_profile_id;
402
+ if (userAttributeProfileName) {
403
+ const userAttributeProfile = userAttributeProfiles?.find((uap) => uap.name === userAttributeProfileName);
404
+ if (userAttributeProfile?.id) {
405
+ client.express_configuration.user_attribute_profile_id = userAttributeProfile.id;
357
406
  }
358
- const connectionProfileName = client.express_configuration.connection_profile_id;
359
- if (connectionProfileName) {
360
- const connectionProfile = connectionProfiles === null || connectionProfiles === void 0 ? void 0 : connectionProfiles.find((cp) => cp.name === connectionProfileName);
361
- if (connectionProfile === null || connectionProfile === void 0 ? void 0 : connectionProfile.id) {
362
- client.express_configuration.connection_profile_id = connectionProfile.id;
363
- }
407
+ }
408
+ const connectionProfileName = client.express_configuration.connection_profile_id;
409
+ if (connectionProfileName) {
410
+ const connectionProfile = connectionProfiles?.find((cp) => cp.name === connectionProfileName);
411
+ if (connectionProfile?.id) {
412
+ client.express_configuration.connection_profile_id = connectionProfile.id;
364
413
  }
365
- const oktaOinClientName = client.express_configuration.okta_oin_client_id;
366
- if (oktaOinClientName) {
367
- const oktaOinClient = clientData === null || clientData === void 0 ? void 0 : clientData.find((c) => c.name === oktaOinClientName);
368
- if (oktaOinClient) {
369
- client.express_configuration.okta_oin_client_id = oktaOinClient.client_id;
370
- }
414
+ }
415
+ const oktaOinClientName = client.express_configuration.okta_oin_client_id;
416
+ if (oktaOinClientName) {
417
+ const oktaOinClient = clientData?.find((c) => c.name === oktaOinClientName);
418
+ if (oktaOinClient?.client_id) {
419
+ client.express_configuration.okta_oin_client_id = oktaOinClient.client_id;
371
420
  }
372
- return client;
373
- });
421
+ }
422
+ return client;
374
423
  });
375
424
  }
376
425
  }
377
426
  exports.default = ClientHandler;
378
- //# sourceMappingURL=clients.js.map
@@ -1,4 +1,4 @@
1
- import { ConnectionProfile } from 'auth0';
1
+ import { Management } from 'auth0';
2
2
  import { Assets, Auth0APIClient } from '../../../types';
3
3
  import DefaultAPIHandler from './default';
4
4
  export declare const schema: {
@@ -173,10 +173,12 @@ export declare const schema: {
173
173
  required: string[];
174
174
  };
175
175
  };
176
+ export type ConnectionProfile = Management.ConnectionProfile;
176
177
  export declare const getConnectionProfile: (auth0Client: Auth0APIClient) => Promise<ConnectionProfile[]>;
177
178
  export default class ConnectionProfilesHandler extends DefaultAPIHandler {
178
179
  existing: ConnectionProfile[];
179
180
  constructor(config: DefaultAPIHandler);
181
+ objString(item: any): string;
180
182
  getType(): Promise<ConnectionProfile[]>;
181
183
  processChanges(assets: Assets): Promise<void>;
182
184
  }
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -188,10 +179,9 @@ exports.schema = {
188
179
  required: ['name'],
189
180
  },
190
181
  };
191
- const getConnectionProfile = (auth0Client) => __awaiter(void 0, void 0, void 0, function* () {
192
- var _a;
182
+ const getConnectionProfile = async (auth0Client) => {
193
183
  try {
194
- const connectionProfiles = yield (0, client_1.paginate)((_a = auth0Client.connectionProfiles) === null || _a === void 0 ? void 0 : _a.getAll, {
184
+ const connectionProfiles = await (0, client_1.paginate)(auth0Client.connectionProfiles?.list, {
195
185
  checkpoint: true,
196
186
  take: 10,
197
187
  });
@@ -207,33 +197,47 @@ const getConnectionProfile = (auth0Client) => __awaiter(void 0, void 0, void 0,
207
197
  }
208
198
  throw err;
209
199
  }
210
- });
200
+ };
211
201
  exports.getConnectionProfile = getConnectionProfile;
212
202
  class ConnectionProfilesHandler extends default_1.default {
213
203
  constructor(config) {
214
- super(Object.assign(Object.assign({}, config), { type: 'connectionProfiles', id: 'id', identifiers: ['id', 'name'], stripUpdateFields: ['id'] }));
215
- }
216
- getType() {
217
- return __awaiter(this, void 0, void 0, function* () {
218
- if (this.existing)
219
- return this.existing;
220
- this.existing = yield (0, exports.getConnectionProfile)(this.client);
221
- return this.existing;
204
+ super({
205
+ ...config,
206
+ type: 'connectionProfiles',
207
+ id: 'id',
208
+ identifiers: ['id', 'name'],
209
+ functions: {
210
+ update: (args, data) => this.client.connectionProfiles.update(args?.id, data),
211
+ },
222
212
  });
223
213
  }
224
- processChanges(assets) {
225
- const _super = Object.create(null, {
226
- processChanges: { get: () => super.processChanges }
214
+ objString(item) {
215
+ return super.objString({
216
+ name: item.name,
227
217
  });
228
- return __awaiter(this, void 0, void 0, function* () {
229
- const { connectionProfiles } = assets;
230
- // Do nothing if not set
231
- if (!connectionProfiles)
232
- return;
233
- // Process using the default implementation
234
- yield _super.processChanges.call(this, assets, yield this.calcChanges(assets));
218
+ }
219
+ async getType() {
220
+ if (this.existing)
221
+ return this.existing;
222
+ this.existing = await (0, exports.getConnectionProfile)(this.client);
223
+ return this.existing;
224
+ }
225
+ async processChanges(assets) {
226
+ const { connectionProfiles } = assets;
227
+ // Do nothing if not set
228
+ if (!connectionProfiles)
229
+ return;
230
+ const { del, update, create, conflicts } = await this.calcChanges(assets);
231
+ const changes = {
232
+ del: del,
233
+ update: update,
234
+ create: create,
235
+ conflicts: conflicts,
236
+ };
237
+ // Process using the default implementation
238
+ await super.processChanges(assets, {
239
+ ...changes,
235
240
  });
236
241
  }
237
242
  }
238
243
  exports.default = ConnectionProfilesHandler;
239
- //# sourceMappingURL=connectionProfiles.js.map
@@ -1,3 +1,4 @@
1
+ import { Management } from 'auth0';
1
2
  import DefaultAPIHandler from './default';
2
3
  import { CalculatedChanges, Asset, Assets, Auth0APIClient } from '../../../types';
3
4
  import { ConfigFunction } from '../../../configFactory';
@@ -81,6 +82,7 @@ export declare const schema: {
81
82
  required: string[];
82
83
  };
83
84
  };
85
+ export type Connection = Management.ConnectionForList;
84
86
  export declare const addExcludedConnectionPropertiesToChanges: ({ proposedChanges, existingConnections, config, }: {
85
87
  proposedChanges: CalculatedChanges;
86
88
  existingConnections: Asset[];
@@ -124,7 +126,7 @@ export declare const updateConnectionEnabledClients: (auth0Client: Auth0APIClien
124
126
  */
125
127
  export declare const processConnectionEnabledClients: (auth0Client: Auth0APIClient, typeName: string, changes: CalculatedChanges, delayMs?: number) => Promise<void>;
126
128
  export default class ConnectionsHandler extends DefaultAPIHandler {
127
- existing: Asset[] | null;
129
+ existing: Connection[] | null;
128
130
  scimHandler: ScimHandler;
129
131
  constructor(config: DefaultAPIHandler);
130
132
  objString(connection: any): string;