@atlasauth/cli 0.23.0 → 0.25.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 (527) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/package.json +3 -3
  3. package/dist/args.d.ts +0 -601
  4. package/dist/args.js +0 -289
  5. package/dist/args.js.map +0 -1
  6. package/dist/cli.d.ts +0 -2
  7. package/dist/cli.js +0 -19
  8. package/dist/cli.js.map +0 -1
  9. package/dist/commands/actions-gallery.d.ts +0 -8
  10. package/dist/commands/actions-gallery.js +0 -197
  11. package/dist/commands/actions-gallery.js.map +0 -1
  12. package/dist/commands/actions.d.ts +0 -13
  13. package/dist/commands/actions.js +0 -135
  14. package/dist/commands/actions.js.map +0 -1
  15. package/dist/commands/admin.d.ts +0 -49
  16. package/dist/commands/admin.js +0 -353
  17. package/dist/commands/admin.js.map +0 -1
  18. package/dist/commands/api-keys.d.ts +0 -4
  19. package/dist/commands/api-keys.js +0 -96
  20. package/dist/commands/api-keys.js.map +0 -1
  21. package/dist/commands/auth.d.ts +0 -25
  22. package/dist/commands/auth.js +0 -102
  23. package/dist/commands/auth.js.map +0 -1
  24. package/dist/commands/config.d.ts +0 -90
  25. package/dist/commands/config.js +0 -1430
  26. package/dist/commands/config.js.map +0 -1
  27. package/dist/commands/csp.d.ts +0 -32
  28. package/dist/commands/csp.js +0 -180
  29. package/dist/commands/csp.js.map +0 -1
  30. package/dist/commands/dev.d.ts +0 -8
  31. package/dist/commands/dev.js +0 -84
  32. package/dist/commands/dev.js.map +0 -1
  33. package/dist/commands/fga.d.ts +0 -10
  34. package/dist/commands/fga.js +0 -146
  35. package/dist/commands/fga.js.map +0 -1
  36. package/dist/commands/golive.d.ts +0 -40
  37. package/dist/commands/golive.js +0 -285
  38. package/dist/commands/golive.js.map +0 -1
  39. package/dist/commands/id-accounts.d.ts +0 -13
  40. package/dist/commands/id-accounts.js +0 -195
  41. package/dist/commands/id-accounts.js.map +0 -1
  42. package/dist/commands/import-better-auth.d.ts +0 -3
  43. package/dist/commands/import-better-auth.js +0 -164
  44. package/dist/commands/import-better-auth.js.map +0 -1
  45. package/dist/commands/import.d.ts +0 -3
  46. package/dist/commands/import.js +0 -123
  47. package/dist/commands/import.js.map +0 -1
  48. package/dist/commands/info.d.ts +0 -75
  49. package/dist/commands/info.js +0 -362
  50. package/dist/commands/info.js.map +0 -1
  51. package/dist/commands/init.d.ts +0 -3
  52. package/dist/commands/init.js +0 -438
  53. package/dist/commands/init.js.map +0 -1
  54. package/dist/commands/integrations.d.ts +0 -8
  55. package/dist/commands/integrations.js +0 -112
  56. package/dist/commands/integrations.js.map +0 -1
  57. package/dist/commands/listen.d.ts +0 -17
  58. package/dist/commands/listen.js +0 -223
  59. package/dist/commands/listen.js.map +0 -1
  60. package/dist/commands/mcp.d.ts +0 -38
  61. package/dist/commands/mcp.js +0 -111
  62. package/dist/commands/mcp.js.map +0 -1
  63. package/dist/commands/migrate.d.ts +0 -16
  64. package/dist/commands/migrate.js +0 -114
  65. package/dist/commands/migrate.js.map +0 -1
  66. package/dist/commands/move-origin.d.ts +0 -11
  67. package/dist/commands/move-origin.js +0 -95
  68. package/dist/commands/move-origin.js.map +0 -1
  69. package/dist/commands/operator.d.ts +0 -18
  70. package/dist/commands/operator.js +0 -238
  71. package/dist/commands/operator.js.map +0 -1
  72. package/dist/commands/orgs.d.ts +0 -4
  73. package/dist/commands/orgs.js +0 -72
  74. package/dist/commands/orgs.js.map +0 -1
  75. package/dist/commands/pages.d.ts +0 -14
  76. package/dist/commands/pages.js +0 -113
  77. package/dist/commands/pages.js.map +0 -1
  78. package/dist/commands/partner-platforms.d.ts +0 -10
  79. package/dist/commands/partner-platforms.js +0 -157
  80. package/dist/commands/partner-platforms.js.map +0 -1
  81. package/dist/commands/project-commands.d.ts +0 -38
  82. package/dist/commands/project-commands.js +0 -361
  83. package/dist/commands/project-commands.js.map +0 -1
  84. package/dist/commands/referrals.d.ts +0 -69
  85. package/dist/commands/referrals.js +0 -1056
  86. package/dist/commands/referrals.js.map +0 -1
  87. package/dist/commands/resources.d.ts +0 -44
  88. package/dist/commands/resources.js +0 -234
  89. package/dist/commands/resources.js.map +0 -1
  90. package/dist/commands/sessions.d.ts +0 -4
  91. package/dist/commands/sessions.js +0 -28
  92. package/dist/commands/sessions.js.map +0 -1
  93. package/dist/commands/shared.d.ts +0 -38
  94. package/dist/commands/shared.js +0 -69
  95. package/dist/commands/shared.js.map +0 -1
  96. package/dist/commands/status.d.ts +0 -3
  97. package/dist/commands/status.js +0 -77
  98. package/dist/commands/status.js.map +0 -1
  99. package/dist/commands/users.d.ts +0 -4
  100. package/dist/commands/users.js +0 -100
  101. package/dist/commands/users.js.map +0 -1
  102. package/dist/commands/webhooks.d.ts +0 -34
  103. package/dist/commands/webhooks.js +0 -301
  104. package/dist/commands/webhooks.js.map +0 -1
  105. package/dist/config-http.d.ts +0 -29
  106. package/dist/config-http.js +0 -64
  107. package/dist/config-http.js.map +0 -1
  108. package/dist/config.d.ts +0 -64
  109. package/dist/config.js +0 -69
  110. package/dist/config.js.map +0 -1
  111. package/dist/context.d.ts +0 -72
  112. package/dist/context.js +0 -27
  113. package/dist/context.js.map +0 -1
  114. package/dist/errors.d.ts +0 -15
  115. package/dist/errors.js +0 -25
  116. package/dist/errors.js.map +0 -1
  117. package/dist/help.d.ts +0 -8
  118. package/dist/help.js +0 -868
  119. package/dist/help.js.map +0 -1
  120. package/dist/import/csv.d.ts +0 -6
  121. package/dist/import/csv.js +0 -63
  122. package/dist/import/csv.js.map +0 -1
  123. package/dist/import/vendors.d.ts +0 -57
  124. package/dist/import/vendors.js +0 -568
  125. package/dist/import/vendors.js.map +0 -1
  126. package/dist/index.d.ts +0 -32
  127. package/dist/index.js +0 -79
  128. package/dist/index.js.map +0 -1
  129. package/dist/io.d.ts +0 -21
  130. package/dist/io.js +0 -28
  131. package/dist/io.js.map +0 -1
  132. package/dist/migrate/appwrite/plugin.d.ts +0 -2
  133. package/dist/migrate/appwrite/plugin.js +0 -103
  134. package/dist/migrate/appwrite/plugin.js.map +0 -1
  135. package/dist/migrate/auth0/plugin.d.ts +0 -2
  136. package/dist/migrate/auth0/plugin.js +0 -126
  137. package/dist/migrate/auth0/plugin.js.map +0 -1
  138. package/dist/migrate/authentik/plugin.d.ts +0 -2
  139. package/dist/migrate/authentik/plugin.js +0 -135
  140. package/dist/migrate/authentik/plugin.js.map +0 -1
  141. package/dist/migrate/azure-ad-b2c/plugin.d.ts +0 -8
  142. package/dist/migrate/azure-ad-b2c/plugin.js +0 -165
  143. package/dist/migrate/azure-ad-b2c/plugin.js.map +0 -1
  144. package/dist/migrate/better-auth/integration.d.ts +0 -59
  145. package/dist/migrate/better-auth/integration.js +0 -81
  146. package/dist/migrate/better-auth/integration.js.map +0 -1
  147. package/dist/migrate/better-auth/orchestrator.d.ts +0 -43
  148. package/dist/migrate/better-auth/orchestrator.js +0 -525
  149. package/dist/migrate/better-auth/orchestrator.js.map +0 -1
  150. package/dist/migrate/better-auth/output.d.ts +0 -20
  151. package/dist/migrate/better-auth/output.js +0 -146
  152. package/dist/migrate/better-auth/output.js.map +0 -1
  153. package/dist/migrate/better-auth/translate.d.ts +0 -77
  154. package/dist/migrate/better-auth/translate.js +0 -1989
  155. package/dist/migrate/better-auth/translate.js.map +0 -1
  156. package/dist/migrate/clerk/plugin.d.ts +0 -2
  157. package/dist/migrate/clerk/plugin.js +0 -76
  158. package/dist/migrate/clerk/plugin.js.map +0 -1
  159. package/dist/migrate/cognito/plugin.d.ts +0 -5
  160. package/dist/migrate/cognito/plugin.js +0 -170
  161. package/dist/migrate/cognito/plugin.js.map +0 -1
  162. package/dist/migrate/corbado/plugin.d.ts +0 -2
  163. package/dist/migrate/corbado/plugin.js +0 -63
  164. package/dist/migrate/corbado/plugin.js.map +0 -1
  165. package/dist/migrate/descope/plugin.d.ts +0 -2
  166. package/dist/migrate/descope/plugin.js +0 -83
  167. package/dist/migrate/descope/plugin.js.map +0 -1
  168. package/dist/migrate/entra-external-id/plugin.d.ts +0 -8
  169. package/dist/migrate/entra-external-id/plugin.js +0 -12
  170. package/dist/migrate/entra-external-id/plugin.js.map +0 -1
  171. package/dist/migrate/export/appwrite-config.d.ts +0 -28
  172. package/dist/migrate/export/appwrite-config.js +0 -170
  173. package/dist/migrate/export/appwrite-config.js.map +0 -1
  174. package/dist/migrate/export/appwrite.d.ts +0 -51
  175. package/dist/migrate/export/appwrite.js +0 -288
  176. package/dist/migrate/export/appwrite.js.map +0 -1
  177. package/dist/migrate/export/auth0-config.d.ts +0 -29
  178. package/dist/migrate/export/auth0-config.js +0 -249
  179. package/dist/migrate/export/auth0-config.js.map +0 -1
  180. package/dist/migrate/export/auth0.d.ts +0 -62
  181. package/dist/migrate/export/auth0.js +0 -575
  182. package/dist/migrate/export/auth0.js.map +0 -1
  183. package/dist/migrate/export/authentik-config.d.ts +0 -45
  184. package/dist/migrate/export/authentik-config.js +0 -357
  185. package/dist/migrate/export/authentik-config.js.map +0 -1
  186. package/dist/migrate/export/authentik.d.ts +0 -110
  187. package/dist/migrate/export/authentik.js +0 -838
  188. package/dist/migrate/export/authentik.js.map +0 -1
  189. package/dist/migrate/export/azure-config.d.ts +0 -58
  190. package/dist/migrate/export/azure-config.js +0 -344
  191. package/dist/migrate/export/azure-config.js.map +0 -1
  192. package/dist/migrate/export/azure.d.ts +0 -85
  193. package/dist/migrate/export/azure.js +0 -373
  194. package/dist/migrate/export/azure.js.map +0 -1
  195. package/dist/migrate/export/clerk-config.d.ts +0 -26
  196. package/dist/migrate/export/clerk-config.js +0 -227
  197. package/dist/migrate/export/clerk-config.js.map +0 -1
  198. package/dist/migrate/export/clerk.d.ts +0 -46
  199. package/dist/migrate/export/clerk.js +0 -486
  200. package/dist/migrate/export/clerk.js.map +0 -1
  201. package/dist/migrate/export/cognito-config.d.ts +0 -25
  202. package/dist/migrate/export/cognito-config.js +0 -273
  203. package/dist/migrate/export/cognito-config.js.map +0 -1
  204. package/dist/migrate/export/cognito.d.ts +0 -103
  205. package/dist/migrate/export/cognito.js +0 -441
  206. package/dist/migrate/export/cognito.js.map +0 -1
  207. package/dist/migrate/export/corbado-config.d.ts +0 -20
  208. package/dist/migrate/export/corbado-config.js +0 -63
  209. package/dist/migrate/export/corbado-config.js.map +0 -1
  210. package/dist/migrate/export/corbado.d.ts +0 -37
  211. package/dist/migrate/export/corbado.js +0 -132
  212. package/dist/migrate/export/corbado.js.map +0 -1
  213. package/dist/migrate/export/descope.d.ts +0 -35
  214. package/dist/migrate/export/descope.js +0 -208
  215. package/dist/migrate/export/descope.js.map +0 -1
  216. package/dist/migrate/export/fake-vendor.test-helper.d.ts +0 -27
  217. package/dist/migrate/export/fake-vendor.test-helper.js +0 -41
  218. package/dist/migrate/export/fake-vendor.test-helper.js.map +0 -1
  219. package/dist/migrate/export/firebase-config.d.ts +0 -24
  220. package/dist/migrate/export/firebase-config.js +0 -215
  221. package/dist/migrate/export/firebase-config.js.map +0 -1
  222. package/dist/migrate/export/firebase.d.ts +0 -102
  223. package/dist/migrate/export/firebase.js +0 -464
  224. package/dist/migrate/export/firebase.js.map +0 -1
  225. package/dist/migrate/export/frameworks/app-users.d.ts +0 -42
  226. package/dist/migrate/export/frameworks/app-users.js +0 -161
  227. package/dist/migrate/export/frameworks/app-users.js.map +0 -1
  228. package/dist/migrate/export/frameworks/authjs.d.ts +0 -41
  229. package/dist/migrate/export/frameworks/authjs.js +0 -146
  230. package/dist/migrate/export/frameworks/authjs.js.map +0 -1
  231. package/dist/migrate/export/frameworks/devise.d.ts +0 -39
  232. package/dist/migrate/export/frameworks/devise.js +0 -218
  233. package/dist/migrate/export/frameworks/devise.js.map +0 -1
  234. package/dist/migrate/export/frameworks/django.d.ts +0 -45
  235. package/dist/migrate/export/frameworks/django.js +0 -315
  236. package/dist/migrate/export/frameworks/django.js.map +0 -1
  237. package/dist/migrate/export/frameworks/lucia.d.ts +0 -42
  238. package/dist/migrate/export/frameworks/lucia.js +0 -263
  239. package/dist/migrate/export/frameworks/lucia.js.map +0 -1
  240. package/dist/migrate/export/frameworks/tables.d.ts +0 -90
  241. package/dist/migrate/export/frameworks/tables.js +0 -325
  242. package/dist/migrate/export/frameworks/tables.js.map +0 -1
  243. package/dist/migrate/export/frameworks/webauthn.d.ts +0 -25
  244. package/dist/migrate/export/frameworks/webauthn.js +0 -130
  245. package/dist/migrate/export/frameworks/webauthn.js.map +0 -1
  246. package/dist/migrate/export/frontegg-config.d.ts +0 -29
  247. package/dist/migrate/export/frontegg-config.js +0 -238
  248. package/dist/migrate/export/frontegg-config.js.map +0 -1
  249. package/dist/migrate/export/frontegg.d.ts +0 -67
  250. package/dist/migrate/export/frontegg.js +0 -410
  251. package/dist/migrate/export/frontegg.js.map +0 -1
  252. package/dist/migrate/export/fusionauth-config.d.ts +0 -26
  253. package/dist/migrate/export/fusionauth-config.js +0 -226
  254. package/dist/migrate/export/fusionauth-config.js.map +0 -1
  255. package/dist/migrate/export/fusionauth.d.ts +0 -99
  256. package/dist/migrate/export/fusionauth.js +0 -642
  257. package/dist/migrate/export/fusionauth.js.map +0 -1
  258. package/dist/migrate/export/hanko-config.d.ts +0 -27
  259. package/dist/migrate/export/hanko-config.js +0 -265
  260. package/dist/migrate/export/hanko-config.js.map +0 -1
  261. package/dist/migrate/export/hanko.d.ts +0 -52
  262. package/dist/migrate/export/hanko.js +0 -605
  263. package/dist/migrate/export/hanko.js.map +0 -1
  264. package/dist/migrate/export/keycloak-config.d.ts +0 -19
  265. package/dist/migrate/export/keycloak-config.js +0 -219
  266. package/dist/migrate/export/keycloak-config.js.map +0 -1
  267. package/dist/migrate/export/keycloak.d.ts +0 -155
  268. package/dist/migrate/export/keycloak.js +0 -878
  269. package/dist/migrate/export/keycloak.js.map +0 -1
  270. package/dist/migrate/export/kinde-descope-config.d.ts +0 -38
  271. package/dist/migrate/export/kinde-descope-config.js +0 -172
  272. package/dist/migrate/export/kinde-descope-config.js.map +0 -1
  273. package/dist/migrate/export/kinde.d.ts +0 -57
  274. package/dist/migrate/export/kinde.js +0 -333
  275. package/dist/migrate/export/kinde.js.map +0 -1
  276. package/dist/migrate/export/ldap.d.ts +0 -53
  277. package/dist/migrate/export/ldap.js +0 -277
  278. package/dist/migrate/export/ldap.js.map +0 -1
  279. package/dist/migrate/export/logto-config.d.ts +0 -27
  280. package/dist/migrate/export/logto-config.js +0 -264
  281. package/dist/migrate/export/logto-config.js.map +0 -1
  282. package/dist/migrate/export/logto.d.ts +0 -150
  283. package/dist/migrate/export/logto.js +0 -809
  284. package/dist/migrate/export/logto.js.map +0 -1
  285. package/dist/migrate/export/magic-config.d.ts +0 -14
  286. package/dist/migrate/export/magic-config.js +0 -28
  287. package/dist/migrate/export/magic-config.js.map +0 -1
  288. package/dist/migrate/export/magic.d.ts +0 -31
  289. package/dist/migrate/export/magic.js +0 -93
  290. package/dist/migrate/export/magic.js.map +0 -1
  291. package/dist/migrate/export/mini-yaml.d.ts +0 -19
  292. package/dist/migrate/export/mini-yaml.js +0 -581
  293. package/dist/migrate/export/mini-yaml.js.map +0 -1
  294. package/dist/migrate/export/nhost-config.d.ts +0 -26
  295. package/dist/migrate/export/nhost-config.js +0 -360
  296. package/dist/migrate/export/nhost-config.js.map +0 -1
  297. package/dist/migrate/export/nhost.d.ts +0 -64
  298. package/dist/migrate/export/nhost.js +0 -304
  299. package/dist/migrate/export/nhost.js.map +0 -1
  300. package/dist/migrate/export/okta-config.d.ts +0 -30
  301. package/dist/migrate/export/okta-config.js +0 -205
  302. package/dist/migrate/export/okta-config.js.map +0 -1
  303. package/dist/migrate/export/okta.d.ts +0 -43
  304. package/dist/migrate/export/okta.js +0 -337
  305. package/dist/migrate/export/okta.js.map +0 -1
  306. package/dist/migrate/export/onelogin.d.ts +0 -22
  307. package/dist/migrate/export/onelogin.js +0 -123
  308. package/dist/migrate/export/onelogin.js.map +0 -1
  309. package/dist/migrate/export/ory-config.d.ts +0 -58
  310. package/dist/migrate/export/ory-config.js +0 -451
  311. package/dist/migrate/export/ory-config.js.map +0 -1
  312. package/dist/migrate/export/ory.d.ts +0 -81
  313. package/dist/migrate/export/ory.js +0 -555
  314. package/dist/migrate/export/ory.js.map +0 -1
  315. package/dist/migrate/export/password-detect.d.ts +0 -29
  316. package/dist/migrate/export/password-detect.js +0 -81
  317. package/dist/migrate/export/password-detect.js.map +0 -1
  318. package/dist/migrate/export/pingone.d.ts +0 -36
  319. package/dist/migrate/export/pingone.js +0 -218
  320. package/dist/migrate/export/pingone.js.map +0 -1
  321. package/dist/migrate/export/plugin-kit.d.ts +0 -25
  322. package/dist/migrate/export/plugin-kit.js +0 -82
  323. package/dist/migrate/export/plugin-kit.js.map +0 -1
  324. package/dist/migrate/export/pocketbase-config.d.ts +0 -28
  325. package/dist/migrate/export/pocketbase-config.js +0 -180
  326. package/dist/migrate/export/pocketbase-config.js.map +0 -1
  327. package/dist/migrate/export/pocketbase.d.ts +0 -52
  328. package/dist/migrate/export/pocketbase.js +0 -243
  329. package/dist/migrate/export/pocketbase.js.map +0 -1
  330. package/dist/migrate/export/project-files.d.ts +0 -15
  331. package/dist/migrate/export/project-files.js +0 -43
  332. package/dist/migrate/export/project-files.js.map +0 -1
  333. package/dist/migrate/export/propelauth-config.d.ts +0 -18
  334. package/dist/migrate/export/propelauth-config.js +0 -58
  335. package/dist/migrate/export/propelauth-config.js.map +0 -1
  336. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +0 -62
  337. package/dist/migrate/export/propelauth-harness.test-helper.js +0 -109
  338. package/dist/migrate/export/propelauth-harness.test-helper.js.map +0 -1
  339. package/dist/migrate/export/propelauth.d.ts +0 -48
  340. package/dist/migrate/export/propelauth.js +0 -255
  341. package/dist/migrate/export/propelauth.js.map +0 -1
  342. package/dist/migrate/export/record-set.d.ts +0 -44
  343. package/dist/migrate/export/record-set.js +0 -98
  344. package/dist/migrate/export/record-set.js.map +0 -1
  345. package/dist/migrate/export/source-lines.d.ts +0 -17
  346. package/dist/migrate/export/source-lines.js +0 -43
  347. package/dist/migrate/export/source-lines.js.map +0 -1
  348. package/dist/migrate/export/sso-metadata.d.ts +0 -47
  349. package/dist/migrate/export/sso-metadata.js +0 -180
  350. package/dist/migrate/export/sso-metadata.js.map +0 -1
  351. package/dist/migrate/export/stytch-config.d.ts +0 -22
  352. package/dist/migrate/export/stytch-config.js +0 -102
  353. package/dist/migrate/export/stytch-config.js.map +0 -1
  354. package/dist/migrate/export/stytch.d.ts +0 -68
  355. package/dist/migrate/export/stytch.js +0 -510
  356. package/dist/migrate/export/stytch.js.map +0 -1
  357. package/dist/migrate/export/supabase-config.d.ts +0 -48
  358. package/dist/migrate/export/supabase-config.js +0 -408
  359. package/dist/migrate/export/supabase-config.js.map +0 -1
  360. package/dist/migrate/export/supabase.d.ts +0 -86
  361. package/dist/migrate/export/supabase.js +0 -524
  362. package/dist/migrate/export/supabase.js.map +0 -1
  363. package/dist/migrate/export/supertokens-config.d.ts +0 -20
  364. package/dist/migrate/export/supertokens-config.js +0 -150
  365. package/dist/migrate/export/supertokens-config.js.map +0 -1
  366. package/dist/migrate/export/supertokens.d.ts +0 -125
  367. package/dist/migrate/export/supertokens.js +0 -464
  368. package/dist/migrate/export/supertokens.js.map +0 -1
  369. package/dist/migrate/export/table.d.ts +0 -35
  370. package/dist/migrate/export/table.js +0 -248
  371. package/dist/migrate/export/table.js.map +0 -1
  372. package/dist/migrate/export/translate-kit.d.ts +0 -46
  373. package/dist/migrate/export/translate-kit.js +0 -148
  374. package/dist/migrate/export/translate-kit.js.map +0 -1
  375. package/dist/migrate/export/userfront-config.d.ts +0 -15
  376. package/dist/migrate/export/userfront-config.js +0 -49
  377. package/dist/migrate/export/userfront-config.js.map +0 -1
  378. package/dist/migrate/export/userfront.d.ts +0 -38
  379. package/dist/migrate/export/userfront.js +0 -189
  380. package/dist/migrate/export/userfront.js.map +0 -1
  381. package/dist/migrate/export/vendor-http.d.ts +0 -46
  382. package/dist/migrate/export/vendor-http.js +0 -138
  383. package/dist/migrate/export/vendor-http.js.map +0 -1
  384. package/dist/migrate/export/workos-config.d.ts +0 -23
  385. package/dist/migrate/export/workos-config.js +0 -125
  386. package/dist/migrate/export/workos-config.js.map +0 -1
  387. package/dist/migrate/export/workos.d.ts +0 -46
  388. package/dist/migrate/export/workos.js +0 -272
  389. package/dist/migrate/export/workos.js.map +0 -1
  390. package/dist/migrate/export/zip.d.ts +0 -8
  391. package/dist/migrate/export/zip.js +0 -66
  392. package/dist/migrate/export/zip.js.map +0 -1
  393. package/dist/migrate/export/zitadel-config.d.ts +0 -37
  394. package/dist/migrate/export/zitadel-config.js +0 -279
  395. package/dist/migrate/export/zitadel-config.js.map +0 -1
  396. package/dist/migrate/export/zitadel.d.ts +0 -82
  397. package/dist/migrate/export/zitadel.js +0 -447
  398. package/dist/migrate/export/zitadel.js.map +0 -1
  399. package/dist/migrate/firebase/plugin.d.ts +0 -2
  400. package/dist/migrate/firebase/plugin.js +0 -152
  401. package/dist/migrate/firebase/plugin.js.map +0 -1
  402. package/dist/migrate/framework/builtins.d.ts +0 -2
  403. package/dist/migrate/framework/builtins.js +0 -52
  404. package/dist/migrate/framework/builtins.js.map +0 -1
  405. package/dist/migrate/framework/commands.d.ts +0 -20
  406. package/dist/migrate/framework/commands.js +0 -58
  407. package/dist/migrate/framework/commands.js.map +0 -1
  408. package/dist/migrate/framework/custom.d.ts +0 -12
  409. package/dist/migrate/framework/custom.js +0 -96
  410. package/dist/migrate/framework/custom.js.map +0 -1
  411. package/dist/migrate/framework/orchestrator.d.ts +0 -113
  412. package/dist/migrate/framework/orchestrator.js +0 -532
  413. package/dist/migrate/framework/orchestrator.js.map +0 -1
  414. package/dist/migrate/framework/plugin.d.ts +0 -167
  415. package/dist/migrate/framework/plugin.js +0 -3
  416. package/dist/migrate/framework/plugin.js.map +0 -1
  417. package/dist/migrate/framework/registry.d.ts +0 -11
  418. package/dist/migrate/framework/registry.js +0 -44
  419. package/dist/migrate/framework/registry.js.map +0 -1
  420. package/dist/migrate/framework/report.d.ts +0 -17
  421. package/dist/migrate/framework/report.js +0 -103
  422. package/dist/migrate/framework/report.js.map +0 -1
  423. package/dist/migrate/frameworks/plugins.d.ts +0 -29
  424. package/dist/migrate/frameworks/plugins.js +0 -402
  425. package/dist/migrate/frameworks/plugins.js.map +0 -1
  426. package/dist/migrate/frameworks/report.d.ts +0 -92
  427. package/dist/migrate/frameworks/report.js +0 -207
  428. package/dist/migrate/frameworks/report.js.map +0 -1
  429. package/dist/migrate/frameworks/translate-js.d.ts +0 -5
  430. package/dist/migrate/frameworks/translate-js.js +0 -503
  431. package/dist/migrate/frameworks/translate-js.js.map +0 -1
  432. package/dist/migrate/frameworks/translate-rails-django.d.ts +0 -3
  433. package/dist/migrate/frameworks/translate-rails-django.js +0 -1391
  434. package/dist/migrate/frameworks/translate-rails-django.js.map +0 -1
  435. package/dist/migrate/frontegg/plugin.d.ts +0 -2
  436. package/dist/migrate/frontegg/plugin.js +0 -78
  437. package/dist/migrate/frontegg/plugin.js.map +0 -1
  438. package/dist/migrate/fusionauth/plugin.d.ts +0 -2
  439. package/dist/migrate/fusionauth/plugin.js +0 -109
  440. package/dist/migrate/fusionauth/plugin.js.map +0 -1
  441. package/dist/migrate/hanko/plugin.d.ts +0 -2
  442. package/dist/migrate/hanko/plugin.js +0 -100
  443. package/dist/migrate/hanko/plugin.js.map +0 -1
  444. package/dist/migrate/keycloak/plugin.d.ts +0 -2
  445. package/dist/migrate/keycloak/plugin.js +0 -148
  446. package/dist/migrate/keycloak/plugin.js.map +0 -1
  447. package/dist/migrate/kinde/plugin.d.ts +0 -2
  448. package/dist/migrate/kinde/plugin.js +0 -105
  449. package/dist/migrate/kinde/plugin.js.map +0 -1
  450. package/dist/migrate/ldap/plugin.d.ts +0 -2
  451. package/dist/migrate/ldap/plugin.js +0 -73
  452. package/dist/migrate/ldap/plugin.js.map +0 -1
  453. package/dist/migrate/logto/plugin.d.ts +0 -2
  454. package/dist/migrate/logto/plugin.js +0 -131
  455. package/dist/migrate/logto/plugin.js.map +0 -1
  456. package/dist/migrate/magic/plugin.d.ts +0 -2
  457. package/dist/migrate/magic/plugin.js +0 -56
  458. package/dist/migrate/magic/plugin.js.map +0 -1
  459. package/dist/migrate/nhost/plugin.d.ts +0 -2
  460. package/dist/migrate/nhost/plugin.js +0 -115
  461. package/dist/migrate/nhost/plugin.js.map +0 -1
  462. package/dist/migrate/oidc/plugin.d.ts +0 -2
  463. package/dist/migrate/oidc/plugin.js +0 -73
  464. package/dist/migrate/oidc/plugin.js.map +0 -1
  465. package/dist/migrate/okta/plugin.d.ts +0 -2
  466. package/dist/migrate/okta/plugin.js +0 -105
  467. package/dist/migrate/okta/plugin.js.map +0 -1
  468. package/dist/migrate/onelogin/plugin.d.ts +0 -2
  469. package/dist/migrate/onelogin/plugin.js +0 -61
  470. package/dist/migrate/onelogin/plugin.js.map +0 -1
  471. package/dist/migrate/ory/plugin.d.ts +0 -2
  472. package/dist/migrate/ory/plugin.js +0 -186
  473. package/dist/migrate/ory/plugin.js.map +0 -1
  474. package/dist/migrate/ping-identity/plugin.d.ts +0 -2
  475. package/dist/migrate/ping-identity/plugin.js +0 -100
  476. package/dist/migrate/ping-identity/plugin.js.map +0 -1
  477. package/dist/migrate/pocketbase/plugin.d.ts +0 -2
  478. package/dist/migrate/pocketbase/plugin.js +0 -99
  479. package/dist/migrate/pocketbase/plugin.js.map +0 -1
  480. package/dist/migrate/propelauth/plugin.d.ts +0 -2
  481. package/dist/migrate/propelauth/plugin.js +0 -65
  482. package/dist/migrate/propelauth/plugin.js.map +0 -1
  483. package/dist/migrate/saml/plugin.d.ts +0 -2
  484. package/dist/migrate/saml/plugin.js +0 -79
  485. package/dist/migrate/saml/plugin.js.map +0 -1
  486. package/dist/migrate/stytch/plugin.d.ts +0 -2
  487. package/dist/migrate/stytch/plugin.js +0 -97
  488. package/dist/migrate/stytch/plugin.js.map +0 -1
  489. package/dist/migrate/supabase/plugin.d.ts +0 -2
  490. package/dist/migrate/supabase/plugin.js +0 -149
  491. package/dist/migrate/supabase/plugin.js.map +0 -1
  492. package/dist/migrate/supertokens/plugin.d.ts +0 -2
  493. package/dist/migrate/supertokens/plugin.js +0 -114
  494. package/dist/migrate/supertokens/plugin.js.map +0 -1
  495. package/dist/migrate/user-table/plugin.d.ts +0 -2
  496. package/dist/migrate/user-table/plugin.js +0 -62
  497. package/dist/migrate/user-table/plugin.js.map +0 -1
  498. package/dist/migrate/userfront/plugin.d.ts +0 -2
  499. package/dist/migrate/userfront/plugin.js +0 -60
  500. package/dist/migrate/userfront/plugin.js.map +0 -1
  501. package/dist/migrate/workos/plugin.d.ts +0 -2
  502. package/dist/migrate/workos/plugin.js +0 -81
  503. package/dist/migrate/workos/plugin.js.map +0 -1
  504. package/dist/migrate/zitadel/plugin.d.ts +0 -2
  505. package/dist/migrate/zitadel/plugin.js +0 -114
  506. package/dist/migrate/zitadel/plugin.js.map +0 -1
  507. package/dist/output.d.ts +0 -41
  508. package/dist/output.js +0 -72
  509. package/dist/output.js.map +0 -1
  510. package/dist/project.d.ts +0 -64
  511. package/dist/project.js +0 -86
  512. package/dist/project.js.map +0 -1
  513. package/dist/prompt.d.ts +0 -15
  514. package/dist/prompt.js +0 -46
  515. package/dist/prompt.js.map +0 -1
  516. package/dist/run.d.ts +0 -12
  517. package/dist/run.js +0 -157
  518. package/dist/run.js.map +0 -1
  519. package/dist/secrets.d.ts +0 -41
  520. package/dist/secrets.js +0 -142
  521. package/dist/secrets.js.map +0 -1
  522. package/dist/serialize.d.ts +0 -30
  523. package/dist/serialize.js +0 -131
  524. package/dist/serialize.js.map +0 -1
  525. package/dist/version.d.ts +0 -7
  526. package/dist/version.js +0 -21
  527. package/dist/version.js.map +0 -1
@@ -1,43 +0,0 @@
1
- import type { UserRecord } from '@atlasauth/migrate';
2
- import { RecordSet, type Obj } from './record-set';
3
- /**
4
- * `atlas migrate export okta` — Okta Workforce Identity Cloud and Okta
5
- * Customer Identity Solution orgs onto the canonical bundle models.
6
- *
7
- * Read with an API token (`SSWS …`) or an OAuth access token with the
8
- * okta.users.read / okta.groups.read / okta.idps.read scopes, on this machine.
9
- *
10
- * - users (every status but DEPROVISIONED) with their profile; custom
11
- * profile attributes land in private metadata;
12
- * - groups, as app roles (default) or as organizations;
13
- * - identity providers: social IdPs become identities on their linked
14
- * users, SAML 2.0 / OIDC IdPs become enterprise connections (with the
15
- * signing certificate);
16
- * - with --factors: SMS / voice / email second factors (no secret is
17
- * needed for those). TOTP seeds, Okta Verify and WebAuthn credentials
18
- * never leave Okta — those users re-enrol.
19
- *
20
- * Okta NEVER exports password hashes, by API or support. Passwords move with
21
- * the `okta` lazy-migration preset: Atlas checks a password against Okta
22
- * (Authn API or the password grant) on the user's first sign-in.
23
- */
24
- export interface OktaExportOptions {
25
- /** `acme.okta.com` (or a custom domain serving the API). */
26
- domain: string;
27
- /** An Okta API token. */
28
- apiToken?: string;
29
- /** An OAuth 2.0 access token for the Okta management API, instead of an API token. */
30
- accessToken?: string;
31
- /** How groups move: as Atlas app roles (default) or as organizations. */
32
- groupsAs?: 'roles' | 'organizations' | 'skip';
33
- /** Read each user's factors (one call per user). */
34
- factors?: boolean;
35
- /** The authorization server whose signing keys go in the bundle (default `default`). */
36
- authorizationServerId?: string;
37
- fetchImpl?: typeof fetch;
38
- sleep?: (ms: number) => Promise<void>;
39
- onProgress?: (message: string) => void;
40
- }
41
- export declare function exportOkta(opts: OktaExportOptions): Promise<RecordSet>;
42
- /** One Okta user → a user record (null when it has nothing to sign in with). */
43
- export declare function mapOktaUser(u: Obj): UserRecord | null;
@@ -1,337 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exportOkta = exportOkta;
4
- exports.mapOktaUser = mapOktaUser;
5
- const record_set_1 = require("./record-set");
6
- const vendor_http_1 = require("./vendor-http");
7
- /** Profile attributes the user record carries itself; the rest are custom. */
8
- const BASE_PROFILE = new Set([
9
- 'login',
10
- 'email',
11
- 'secondEmail',
12
- 'firstName',
13
- 'lastName',
14
- 'displayName',
15
- 'nickName',
16
- 'mobilePhone',
17
- 'primaryPhone',
18
- 'profileUrl',
19
- ]);
20
- /** Okta social IdP types → the provider name an identity record carries. */
21
- const SOCIAL = {
22
- GOOGLE: 'google',
23
- FACEBOOK: 'facebook',
24
- MICROSOFT: 'microsoft',
25
- APPLE: 'apple',
26
- LINKEDIN: 'linkedin',
27
- GITHUB: 'github',
28
- GITLAB: 'gitlab',
29
- AMAZON: 'amazon',
30
- DISCORD: 'discord',
31
- PAYPAL: 'paypal',
32
- SALESFORCE: 'salesforce',
33
- SPOTIFY: 'spotify',
34
- XERO: 'xero',
35
- YAHOO: 'yahoo',
36
- };
37
- async function exportOkta(opts) {
38
- const set = new record_set_1.RecordSet();
39
- const domain = opts.domain.replace(/^https?:\/\//, '').replace(/\/+$/, '');
40
- if (!/^[a-z0-9.-]+$/i.test(domain))
41
- throw new Error(`Not an Okta domain: ${opts.domain}`);
42
- if (!opts.apiToken && !opts.accessToken)
43
- throw new Error('Okta export needs an API token (OKTA_API_TOKEN) or an OAuth access token for the management API.');
44
- const progress = opts.onProgress ?? (() => undefined);
45
- const http = new vendor_http_1.VendorHttp({
46
- vendor: 'Okta',
47
- baseUrl: `https://${domain}/api/v1`,
48
- headers: { authorization: opts.apiToken ? `SSWS ${opts.apiToken}` : `Bearer ${opts.accessToken}` },
49
- fetchImpl: opts.fetchImpl,
50
- sleep: opts.sleep,
51
- });
52
- const groupsAs = opts.groupsAs ?? 'roles';
53
- progress('groups');
54
- const groups = groupsAs === 'skip' ? [] : (await linkAll(http, '/groups?limit=200')).filter((g) => (0, record_set_1.str)(g.type) !== 'BUILT_IN');
55
- const groupKey = new Map();
56
- const keysUsed = new Set();
57
- for (const g of groups) {
58
- const id = (0, record_set_1.str)(g.id);
59
- const name = (0, record_set_1.str)((0, record_set_1.isObj)(g.profile) ? g.profile.name : undefined);
60
- if (!id || !name)
61
- continue;
62
- let key = slug(name);
63
- while (keysUsed.has(key))
64
- key = `${key}_${id.slice(-4).toLowerCase()}`;
65
- keysUsed.add(key);
66
- groupKey.set(id, key);
67
- const description = (0, record_set_1.str)((0, record_set_1.isObj)(g.profile) ? g.profile.description : undefined);
68
- if (groupsAs === 'organizations') {
69
- set.add('organization', (0, record_set_1.compact)({ id, name, slug: key.replace(/_/g, '-'), public_metadata: description ? { description } : undefined, created_at: (0, record_set_1.str)(g.created) }));
70
- }
71
- else {
72
- set.add('role', (0, record_set_1.compact)({ key, name, description, scope: 'app' }));
73
- }
74
- }
75
- if (groupsAs === 'organizations') {
76
- set.add('role', { key: 'member', name: 'Member', scope: 'organization' });
77
- }
78
- progress('users');
79
- const users = await linkAll(http, '/users?limit=200');
80
- const userIds = new Set();
81
- for (const u of users) {
82
- const user = mapOktaUser(u);
83
- if (!user) {
84
- set.omit('user', 'no email, phone number or login');
85
- continue;
86
- }
87
- userIds.add(user.id);
88
- set.add('user', user);
89
- }
90
- if (userIds.size) {
91
- set.warn('Okta never exports password hashes. Turn on the okta lazy-migration preset: each password is checked against Okta on its first sign-in in Atlas, then stored as Argon2id.');
92
- }
93
- // Group memberships: roles on the user, or organization memberships.
94
- if (groups.length) {
95
- progress('group members');
96
- const rolesOf = new Map();
97
- for (const g of groups) {
98
- const id = (0, record_set_1.str)(g.id);
99
- const key = id ? groupKey.get(id) : undefined;
100
- if (!id || !key)
101
- continue;
102
- for (const m of await linkAll(http, `/groups/${id}/users?limit=1000`)) {
103
- const uid = (0, record_set_1.str)(m.id);
104
- if (!uid || !userIds.has(uid))
105
- continue;
106
- if (groupsAs === 'organizations')
107
- set.add('membership', { organization_id: id, user_id: uid, role: 'member' }, `${id}:${uid}`);
108
- else
109
- rolesOf.set(uid, [...(rolesOf.get(uid) ?? []), key]);
110
- }
111
- }
112
- for (const user of set.list('user')) {
113
- const roles = rolesOf.get(user.id);
114
- if (roles?.length)
115
- user.roles = roles;
116
- }
117
- }
118
- progress('identity providers');
119
- await addIdps(set, http, userIds, domain);
120
- if (opts.factors) {
121
- progress('factors');
122
- for (const id of userIds)
123
- await addFactors(set, http, id);
124
- }
125
- else {
126
- set.warn('Second factors were not read (pass --factors to carry SMS / voice / email factors). TOTP seeds and Okta Verify never leave Okta.');
127
- }
128
- progress('signing keys');
129
- const server = opts.authorizationServerId ?? 'default';
130
- try {
131
- const { body } = await http.get(`https://${domain}/oauth2/${server}/v1/keys`);
132
- for (const k of (0, record_set_1.objs)(body?.keys))
133
- if ((0, record_set_1.str)(k.kid))
134
- set.add('jwks', { kid: (0, record_set_1.str)(k.kid), jwk: k });
135
- }
136
- catch (err) {
137
- if (!(err instanceof vendor_http_1.VendorApiError))
138
- throw err;
139
- set.warn(`The ${server} authorization server's keys could not be read; the bridge preset fetches them live.`);
140
- }
141
- set.manifest = {
142
- origin: domain,
143
- providers: [...new Set(set.list('identity').map((i) => i.provider))].sort(),
144
- settings: { groups_as: groupsAs, authorization_server: server },
145
- };
146
- return set;
147
- }
148
- /** One Okta user → a user record (null when it has nothing to sign in with). */
149
- function mapOktaUser(u) {
150
- const id = (0, record_set_1.str)(u.id);
151
- const status = (0, record_set_1.str)(u.status);
152
- if (!id || status === 'DEPROVISIONED')
153
- return null;
154
- const p = (0, record_set_1.isObj)(u.profile) ? u.profile : {};
155
- const credentials = (0, record_set_1.isObj)(u.credentials) ? u.credentials : {};
156
- // Okta reports verified addresses under credentials.emails when it has them;
157
- // otherwise an ACTIVE user has proven the primary address during activation.
158
- const credEmails = (0, record_set_1.objs)(credentials.emails);
159
- const verifiedSet = new Set(credEmails.filter((e) => (0, record_set_1.str)(e.status) === 'VERIFIED').map((e) => (0, record_set_1.str)(e.value)?.toLowerCase()));
160
- const activated = status !== 'STAGED' && status !== 'PROVISIONED';
161
- const primary = (0, record_set_1.str)(p.email)?.toLowerCase();
162
- const second = (0, record_set_1.str)(p.secondEmail)?.toLowerCase();
163
- const emails = [
164
- ...(primary ? [{ email: primary, verified: credEmails.length ? verifiedSet.has(primary) : activated, primary: true }] : []),
165
- ...(second && second !== primary ? [{ email: second, verified: verifiedSet.has(second), primary: false }] : []),
166
- ];
167
- const phones = [...new Set([(0, record_set_1.e164)(p.mobilePhone), (0, record_set_1.e164)(p.primaryPhone)].filter((x) => !!x))].map((phone, i) => ({
168
- phone,
169
- verified: false,
170
- primary: !emails.length && i === 0,
171
- }));
172
- const login = (0, record_set_1.str)(p.login);
173
- const custom = Object.fromEntries(Object.entries(p).filter(([k, v]) => !BASE_PROFILE.has(k) && v !== null && v !== undefined && v !== ''));
174
- const user = (0, record_set_1.compact)({
175
- id,
176
- emails,
177
- phones,
178
- // The Okta login is often the email; keep it as the username only when it is not.
179
- username: login && login.toLowerCase() !== primary ? login : undefined,
180
- first_name: (0, record_set_1.str)(p.firstName),
181
- last_name: (0, record_set_1.str)(p.lastName),
182
- name: !(0, record_set_1.str)(p.firstName) && !(0, record_set_1.str)(p.lastName) ? (0, record_set_1.str)(p.displayName) : undefined,
183
- banned: status === 'SUSPENDED' ? true : undefined,
184
- ban_reason: status === 'SUSPENDED' ? 'Suspended in Okta' : undefined,
185
- locked: status === 'LOCKED_OUT' ? true : undefined,
186
- private_metadata: (0, record_set_1.bag)({ ...custom, ...(status && status !== 'ACTIVE' ? { okta_status: status } : {}) }),
187
- created_at: (0, record_set_1.str)(u.created),
188
- last_sign_in_at: (0, record_set_1.str)(u.lastLogin),
189
- });
190
- return user.emails?.length || user.phones?.length || user.username ? user : null;
191
- }
192
- async function addIdps(set, http, userIds, domain) {
193
- let idps;
194
- try {
195
- idps = await linkAll(http, '/idps?limit=200');
196
- }
197
- catch (err) {
198
- if (err instanceof vendor_http_1.VendorApiError && (err.status === 403 || err.status === 401)) {
199
- set.warn('Identity providers were not readable with this token (okta.idps.read): social links and SAML/OIDC connections were skipped.');
200
- return;
201
- }
202
- throw err;
203
- }
204
- for (const idp of idps) {
205
- const id = (0, record_set_1.str)(idp.id);
206
- const type = (0, record_set_1.str)(idp.type);
207
- if (!id || !type || (0, record_set_1.str)(idp.status) === 'INACTIVE')
208
- continue;
209
- const name = (0, record_set_1.str)(idp.name) ?? type;
210
- let provider;
211
- let kind;
212
- let connectionId;
213
- if (SOCIAL[type]) {
214
- provider = SOCIAL[type];
215
- kind = 'oauth';
216
- }
217
- else if (type === 'SAML2' || type === 'OIDC') {
218
- connectionId = await addEnterpriseIdp(set, http, idp, domain);
219
- if (!connectionId)
220
- continue;
221
- provider = name;
222
- kind = type === 'SAML2' ? 'saml' : 'oidc';
223
- }
224
- else {
225
- set.warn(`Identity provider ${name} (${type}) has no Atlas counterpart and was skipped.`);
226
- continue;
227
- }
228
- for (const link of await linkAll(http, `/idps/${id}/users?limit=200`)) {
229
- const uid = (0, record_set_1.str)(link.id);
230
- const external = (0, record_set_1.str)(link.externalId);
231
- if (!uid || !external || !userIds.has(uid))
232
- continue;
233
- set.add('identity', (0, record_set_1.compact)({ user_id: uid, provider, provider_user_id: external, kind, sso_connection_id: connectionId, profile: (0, record_set_1.bag)(link.profile) }));
234
- }
235
- }
236
- }
237
- async function addEnterpriseIdp(set, http, idp, domain) {
238
- const id = (0, record_set_1.str)(idp.id);
239
- const name = (0, record_set_1.str)(idp.name) ?? id;
240
- const protocol = (0, record_set_1.isObj)(idp.protocol) ? idp.protocol : {};
241
- const endpoints = (0, record_set_1.isObj)(protocol.endpoints) ? protocol.endpoints : {};
242
- const credentials = (0, record_set_1.isObj)(protocol.credentials) ? protocol.credentials : {};
243
- // Okta routes users to an IdP by routing rules, not by a domain on the IdP:
244
- // the Atlas connection's domains are set after the import.
245
- const domains = [];
246
- if ((0, record_set_1.str)(idp.type) === 'SAML2') {
247
- const trust = (0, record_set_1.isObj)(credentials.trust) ? credentials.trust : {};
248
- const kid = (0, record_set_1.str)(trust.kid);
249
- let cert;
250
- if (kid) {
251
- try {
252
- const { body } = await http.get(`/idps/credentials/keys/${kid}`);
253
- const x5c = Array.isArray(body?.x5c) ? (0, record_set_1.str)(body.x5c[0]) : undefined;
254
- if (x5c)
255
- cert = `-----BEGIN CERTIFICATE-----\n${x5c.match(/.{1,64}/g).join('\n')}\n-----END CERTIFICATE-----`;
256
- }
257
- catch (err) {
258
- if (!(err instanceof vendor_http_1.VendorApiError))
259
- throw err;
260
- }
261
- }
262
- const sso = (0, record_set_1.isObj)(endpoints.sso) ? endpoints.sso : {};
263
- const acs = (0, record_set_1.isObj)(endpoints.acs) ? endpoints.acs : {};
264
- set.add('sso_connection', (0, record_set_1.compact)({
265
- id,
266
- name,
267
- protocol: 'saml',
268
- domains,
269
- enabled: (0, record_set_1.str)(idp.status) !== 'INACTIVE',
270
- saml: (0, record_set_1.compact)({
271
- idp_entity_id: (0, record_set_1.str)(trust.issuer),
272
- idp_sso_url: (0, record_set_1.str)(sso.url),
273
- idp_certificate: cert,
274
- sp_entity_id: (0, record_set_1.str)(trust.audience),
275
- sp_acs_url: (0, record_set_1.str)(acs.url) ?? `https://${domain}/sso/saml2/${id}`,
276
- }),
277
- }));
278
- if (!cert)
279
- set.warn(`SAML identity provider ${name}: its signing certificate could not be read; add it in Atlas.`);
280
- return id;
281
- }
282
- const issuer = (0, record_set_1.isObj)(protocol.issuer) ? (0, record_set_1.str)(protocol.issuer.url) : undefined;
283
- const client = (0, record_set_1.isObj)(credentials.client) ? credentials.client : {};
284
- set.add('sso_connection', (0, record_set_1.compact)({
285
- id,
286
- name,
287
- protocol: 'oidc',
288
- domains,
289
- enabled: (0, record_set_1.str)(idp.status) !== 'INACTIVE',
290
- oidc: (0, record_set_1.compact)({ issuer, client_id: (0, record_set_1.str)(client.client_id), scopes: Array.isArray(protocol.scopes) ? protocol.scopes.map(String) : undefined }),
291
- }));
292
- set.warn(`OIDC identity provider ${name}: Okta does not return its client secret; enter it in Atlas after the import.`);
293
- return id;
294
- }
295
- async function addFactors(set, http, userId) {
296
- let factors;
297
- try {
298
- factors = (0, record_set_1.objs)((await http.get(`/users/${userId}/factors`)).body);
299
- }
300
- catch (err) {
301
- if (err instanceof vendor_http_1.VendorApiError && (err.status === 403 || err.status === 404))
302
- return;
303
- throw err;
304
- }
305
- for (const f of factors) {
306
- if ((0, record_set_1.str)(f.status) !== 'ACTIVE')
307
- continue;
308
- const type = (0, record_set_1.str)(f.factorType);
309
- const profile = (0, record_set_1.isObj)(f.profile) ? f.profile : {};
310
- if (type === 'sms' || type === 'call') {
311
- const phone = (0, record_set_1.e164)(profile.phoneNumber);
312
- if (phone)
313
- set.add('mfa_factor', { user_id: userId, type: 'phone', phone, verified: true, created_at: (0, record_set_1.str)(f.created) }, `phone:${userId}:${phone}`);
314
- }
315
- else if (type === 'email') {
316
- set.add('mfa_factor', { user_id: userId, type: 'email', verified: true, created_at: (0, record_set_1.str)(f.created) }, `email:${userId}`);
317
- }
318
- else if (type) {
319
- set.omit('mfa_factor', `Okta does not export ${type} secrets; re-enrol in Atlas`);
320
- }
321
- }
322
- }
323
- /** Follow `Link: <…>; rel="next"` until the last page. */
324
- async function linkAll(http, path) {
325
- const out = [];
326
- let next = path;
327
- while (next) {
328
- const res = await http.get(next);
329
- out.push(...(0, record_set_1.objs)(res.body));
330
- next = (0, vendor_http_1.nextLink)(res.headers.get('link'));
331
- }
332
- return out;
333
- }
334
- function slug(name) {
335
- return name.trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '') || 'group';
336
- }
337
- //# sourceMappingURL=okta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"okta.js","sourceRoot":"","sources":["../../../src/migrate/export/okta.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { RecordSet } from './record-set';
2
- /**
3
- * `atlas migrate onelogin export` — a OneLogin account through API v2 with API
4
- * credentials (client id + secret, on this machine): users (login, email,
5
- * name, phone, status, custom attributes, last login) and roles (as app roles,
6
- * with their members).
7
- *
8
- * OneLogin never returns password hashes or MFA secrets: passwords move by lazy
9
- * migration (the `onelogin` preset), second factors are enrolled again.
10
- */
11
- export interface OneLoginExportOptions {
12
- subdomain: string;
13
- clientId: string;
14
- clientSecret: string;
15
- fetchImpl?: typeof fetch;
16
- sleep?: (ms: number) => Promise<void>;
17
- onProgress?: (message: string) => void;
18
- }
19
- /** `acme`, `acme.onelogin.com` or a URL → `acme`. */
20
- export declare function oneLoginSubdomain(raw: string): string;
21
- export declare function oneLoginToken(o: Pick<OneLoginExportOptions, 'subdomain' | 'clientId' | 'clientSecret' | 'fetchImpl'>): Promise<string>;
22
- export declare function exportOneLogin(o: OneLoginExportOptions): Promise<RecordSet>;
@@ -1,123 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.oneLoginSubdomain = oneLoginSubdomain;
4
- exports.oneLoginToken = oneLoginToken;
5
- exports.exportOneLogin = exportOneLogin;
6
- const record_set_1 = require("./record-set");
7
- const translate_kit_1 = require("./translate-kit");
8
- const vendor_http_1 = require("./vendor-http");
9
- /** `acme`, `acme.onelogin.com` or a URL → `acme`. */
10
- function oneLoginSubdomain(raw) {
11
- const s = raw.trim().replace(/^https?:\/\//, '').replace(/[/?#].*$/, '').replace(/\.onelogin\.com$/i, '');
12
- if (!/^[a-z0-9][a-z0-9-]{0,62}$/i.test(s))
13
- throw new Error(`"${raw}" is not a OneLogin subdomain.`);
14
- return s.toLowerCase();
15
- }
16
- /** OneLogin user `status` codes. */
17
- const STATUS = { suspended: 2, locked: 3 };
18
- async function oneLoginToken(o) {
19
- const f = o.fetchImpl ?? fetch;
20
- const res = await f(`https://${oneLoginSubdomain(o.subdomain)}.onelogin.com/auth/oauth2/v2/token`, {
21
- method: 'POST',
22
- headers: { 'content-type': 'application/json', authorization: `client_id:${o.clientId}, client_secret:${o.clientSecret}` },
23
- body: JSON.stringify({ grant_type: 'client_credentials' }),
24
- });
25
- const body = (await res.json().catch(() => null));
26
- const token = (0, record_set_1.str)(body?.access_token);
27
- if (res.status !== 200 || !token)
28
- throw new Error(`OneLogin refused the API credentials (${res.status}).`);
29
- return token;
30
- }
31
- async function pages(http, path) {
32
- const out = [];
33
- let cursor = null;
34
- do {
35
- const sep = path.includes('?') ? '&' : '?';
36
- const res = await http.get(cursor ? `${path}${sep}cursor=${encodeURIComponent(cursor)}` : path);
37
- out.push(...(0, record_set_1.objs)(res.body));
38
- cursor = res.headers.get('after-cursor') || null;
39
- } while (cursor);
40
- return out;
41
- }
42
- async function exportOneLogin(o) {
43
- const set = new record_set_1.RecordSet();
44
- const say = o.onProgress ?? (() => undefined);
45
- const sub = oneLoginSubdomain(o.subdomain);
46
- set.manifest = { origin: `OneLogin account ${sub}.onelogin.com` };
47
- const token = await oneLoginToken(o);
48
- const http = new vendor_http_1.VendorHttp({ vendor: 'OneLogin', baseUrl: `https://${sub}.onelogin.com`, headers: { authorization: `Bearer ${token}` }, fetchImpl: o.fetchImpl, sleep: o.sleep });
49
- say('roles');
50
- const roleKey = new Map();
51
- try {
52
- for (const r of await pages(http, '/api/2/roles?limit=100')) {
53
- const id = (0, record_set_1.str)(r.id);
54
- const name = (0, record_set_1.str)(r.name);
55
- if (!id || !name)
56
- continue;
57
- const key = (0, translate_kit_1.keyOf)(name);
58
- roleKey.set(id, key);
59
- set.add('role', { key, name, scope: 'app' }, key);
60
- }
61
- }
62
- catch (err) {
63
- if (!(err instanceof vendor_http_1.VendorApiError && [401, 403, 404].includes(err.status)))
64
- throw err;
65
- set.warn('Roles could not be read (the API credential lacks the Read roles scope): users are imported without roles.');
66
- }
67
- say('users');
68
- const users = await pages(http, '/api/2/users?limit=100');
69
- let unactivated = 0;
70
- for (const u of users) {
71
- const id = (0, record_set_1.str)(u.id);
72
- if (!id)
73
- continue;
74
- const email = (0, record_set_1.str)(u.email)?.toLowerCase();
75
- const emails = email?.includes('@') ? [{ email, verified: false, primary: true }] : [];
76
- const phone = (0, record_set_1.e164)(u.phone);
77
- const phones = phone ? [{ phone, verified: false, primary: true }] : [];
78
- const status = Number(u.status);
79
- const roles = (Array.isArray(u.role_ids) ? u.role_ids.map(String) : []).map((r) => roleKey.get(r)).filter((r) => !!r);
80
- const record = (0, record_set_1.compact)({
81
- id,
82
- emails,
83
- phones,
84
- username: (0, record_set_1.str)(u.username),
85
- first_name: (0, record_set_1.str)(u.firstname),
86
- last_name: (0, record_set_1.str)(u.lastname),
87
- created_at: (0, record_set_1.str)(u.created_at),
88
- last_sign_in_at: (0, record_set_1.str)(u.last_login),
89
- roles: [...new Set(roles)],
90
- private_metadata: {
91
- onelogin: (0, record_set_1.compact)({
92
- status,
93
- external_id: (0, record_set_1.str)(u.external_id),
94
- directory_id: (0, record_set_1.str)(u.directory_id),
95
- group_id: (0, record_set_1.str)(u.group_id),
96
- title: (0, record_set_1.str)(u.title),
97
- department: (0, record_set_1.str)(u.department),
98
- company: (0, record_set_1.str)(u.company),
99
- custom_attributes: (0, record_set_1.bag)(u.custom_attributes),
100
- }),
101
- },
102
- });
103
- if (status === STATUS.suspended) {
104
- record.banned = true;
105
- record.ban_reason = 'Suspended in OneLogin';
106
- }
107
- else if (status === STATUS.locked)
108
- record.locked = true;
109
- if (status === 0)
110
- unactivated++;
111
- if (!record.emails?.length && !record.phones?.length && !record.username) {
112
- set.omit('user', 'no email, phone or username', 1);
113
- continue;
114
- }
115
- set.add('user', record, id);
116
- }
117
- set.omit('password', 'OneLogin never exports password hashes', users.length);
118
- set.warn('Addresses are imported unverified (OneLogin does not say which were confirmed). Passwords move by lazy migration (preset onelogin); users enrol their second factor again.');
119
- if (unactivated)
120
- set.warn(`${unactivated} user(s) never activated their OneLogin account (no password to migrate).`);
121
- return set;
122
- }
123
- //# sourceMappingURL=onelogin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onelogin.js","sourceRoot":"","sources":["../../../src/migrate/export/onelogin.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- import type { TranslationResult } from '../framework/plugin';
2
- import { type Obj } from './record-set';
3
- import { VendorHttp } from './vendor-http';
4
- /**
5
- * `atlas migrate ory config` — Ory Kratos and Hydra settings → Atlas config.
6
- *
7
- * Three readers, one translation:
8
- * - a Kratos config file (`kratos.yml`, or the JSON `ory get identity-config
9
- * --format json` prints), every report line carrying file:line for YAML;
10
- * - an Ory Network project (`ory get project <id> --format json`: the Kratos
11
- * config under `services.identity.config`, Hydra's under
12
- * `services.oauth2.config`);
13
- * - a Hydra config (`hydra.yml`) and the live Hydra Admin API, whose OAuth 2.0
14
- * clients become Atlas OAuth clients (Hydra keeps only hashed client
15
- * secrets: every secret is reissued).
16
- * The identity schemas (`identity.schemas`: inline `base64://`, local `file://`,
17
- * or the public `GET /schemas` of a running Kratos) say which traits are the
18
- * email, username, phone and name and which are custom.
19
- */
20
- /** One config file: its parsed value, with the source line of any dotted path. */
21
- export interface OryConfigFile {
22
- value: Obj;
23
- file: string;
24
- line(path: string): number | undefined;
25
- }
26
- export interface OryIdentitySchema {
27
- id: string;
28
- schema: Obj;
29
- }
30
- export interface OryConfigSnapshot {
31
- origin: string;
32
- /** Kratos configuration (kratos.yml / `services.identity.config`). */
33
- kratos?: OryConfigFile;
34
- /** Hydra configuration (hydra.yml / `services.oauth2.config`). */
35
- hydra?: OryConfigFile;
36
- schemas: OryIdentitySchema[];
37
- /** Hydra OAuth 2.0 clients (`GET /admin/clients`). */
38
- clients: Obj[];
39
- /** Kratos' public URL (the bridge and the lazy preset call it). */
40
- publicUrl?: string;
41
- }
42
- /** A config file's text: JSON when it starts with `{`, otherwise YAML. */
43
- export declare function parseOryConfig(text: string, file: string): OryConfigFile;
44
- /** An `ory get project --format json` document split into its Kratos and Hydra configs; null when it is not one. */
45
- export declare function splitOryProject(file: OryConfigFile): {
46
- kratos: OryConfigFile;
47
- hydra?: OryConfigFile;
48
- slug?: string;
49
- } | null;
50
- /** Identity schemas a Kratos config names that can be read without the network: `base64://` and `file://` (through `readFile`). */
51
- export declare function resolveOrySchemas(kratos: OryConfigFile | undefined, readFile: (path: string) => string, warn?: (m: string) => void): OryIdentitySchema[];
52
- /** Kratos' public `GET /schemas`: `[{ id, schema }]`. */
53
- export declare function fetchOrySchemas(http: VendorHttp): Promise<OryIdentitySchema[]>;
54
- /** Hydra's `GET /admin/clients`, following the Link header's page_token. */
55
- export declare function fetchOryClients(http: VendorHttp, pageSize?: number): Promise<Obj[]>;
56
- /** Go durations (`24h`, `720h`, `1h30m`) → ms. */
57
- export declare function goDurationMs(v: unknown): number | undefined;
58
- export declare function translateOryConfig(snap: OryConfigSnapshot): TranslationResult;