@atlasauth/cli 0.11.0 → 0.13.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 (390) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/args.d.ts +121 -0
  3. package/dist/args.js +45 -0
  4. package/dist/args.js.map +1 -1
  5. package/dist/commands/config.js +71 -6
  6. package/dist/commands/config.js.map +1 -1
  7. package/dist/commands/dev.d.ts +8 -0
  8. package/dist/commands/dev.js +84 -0
  9. package/dist/commands/dev.js.map +1 -0
  10. package/dist/commands/init.js +13 -8
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/migrate.d.ts +6 -2
  13. package/dist/commands/migrate.js +13 -3
  14. package/dist/commands/migrate.js.map +1 -1
  15. package/dist/commands/pages.d.ts +14 -0
  16. package/dist/commands/pages.js +113 -0
  17. package/dist/commands/pages.js.map +1 -0
  18. package/dist/context.d.ts +1 -1
  19. package/dist/help.d.ts +1 -1
  20. package/dist/help.js +96 -2
  21. package/dist/help.js.map +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.js +3 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/migrate/appwrite/plugin.d.ts +2 -0
  26. package/dist/migrate/appwrite/plugin.js +103 -0
  27. package/dist/migrate/appwrite/plugin.js.map +1 -0
  28. package/dist/migrate/auth0/plugin.d.ts +2 -0
  29. package/dist/migrate/auth0/plugin.js +126 -0
  30. package/dist/migrate/auth0/plugin.js.map +1 -0
  31. package/dist/migrate/authentik/plugin.d.ts +2 -0
  32. package/dist/migrate/authentik/plugin.js +135 -0
  33. package/dist/migrate/authentik/plugin.js.map +1 -0
  34. package/dist/migrate/azure-ad-b2c/plugin.d.ts +8 -0
  35. package/dist/migrate/azure-ad-b2c/plugin.js +165 -0
  36. package/dist/migrate/azure-ad-b2c/plugin.js.map +1 -0
  37. package/dist/migrate/clerk/plugin.d.ts +2 -0
  38. package/dist/migrate/clerk/plugin.js +76 -0
  39. package/dist/migrate/clerk/plugin.js.map +1 -0
  40. package/dist/migrate/cognito/plugin.d.ts +5 -0
  41. package/dist/migrate/cognito/plugin.js +170 -0
  42. package/dist/migrate/cognito/plugin.js.map +1 -0
  43. package/dist/migrate/corbado/plugin.d.ts +2 -0
  44. package/dist/migrate/corbado/plugin.js +63 -0
  45. package/dist/migrate/corbado/plugin.js.map +1 -0
  46. package/dist/migrate/descope/plugin.d.ts +2 -0
  47. package/dist/migrate/descope/plugin.js +83 -0
  48. package/dist/migrate/descope/plugin.js.map +1 -0
  49. package/dist/migrate/entra-external-id/plugin.d.ts +8 -0
  50. package/dist/migrate/entra-external-id/plugin.js +12 -0
  51. package/dist/migrate/entra-external-id/plugin.js.map +1 -0
  52. package/dist/migrate/export/appwrite-config.d.ts +28 -0
  53. package/dist/migrate/export/appwrite-config.js +170 -0
  54. package/dist/migrate/export/appwrite-config.js.map +1 -0
  55. package/dist/migrate/export/appwrite.d.ts +51 -0
  56. package/dist/migrate/export/appwrite.js +288 -0
  57. package/dist/migrate/export/appwrite.js.map +1 -0
  58. package/dist/migrate/export/auth0-config.d.ts +29 -0
  59. package/dist/migrate/export/auth0-config.js +249 -0
  60. package/dist/migrate/export/auth0-config.js.map +1 -0
  61. package/dist/migrate/export/auth0.d.ts +62 -0
  62. package/dist/migrate/export/auth0.js +575 -0
  63. package/dist/migrate/export/auth0.js.map +1 -0
  64. package/dist/migrate/export/authentik-config.d.ts +45 -0
  65. package/dist/migrate/export/authentik-config.js +357 -0
  66. package/dist/migrate/export/authentik-config.js.map +1 -0
  67. package/dist/migrate/export/authentik.d.ts +110 -0
  68. package/dist/migrate/export/authentik.js +838 -0
  69. package/dist/migrate/export/authentik.js.map +1 -0
  70. package/dist/migrate/export/azure-config.d.ts +58 -0
  71. package/dist/migrate/export/azure-config.js +344 -0
  72. package/dist/migrate/export/azure-config.js.map +1 -0
  73. package/dist/migrate/export/azure.d.ts +85 -0
  74. package/dist/migrate/export/azure.js +373 -0
  75. package/dist/migrate/export/azure.js.map +1 -0
  76. package/dist/migrate/export/clerk-config.d.ts +26 -0
  77. package/dist/migrate/export/clerk-config.js +227 -0
  78. package/dist/migrate/export/clerk-config.js.map +1 -0
  79. package/dist/migrate/export/clerk.d.ts +46 -0
  80. package/dist/migrate/export/clerk.js +486 -0
  81. package/dist/migrate/export/clerk.js.map +1 -0
  82. package/dist/migrate/export/cognito-config.d.ts +25 -0
  83. package/dist/migrate/export/cognito-config.js +273 -0
  84. package/dist/migrate/export/cognito-config.js.map +1 -0
  85. package/dist/migrate/export/cognito.d.ts +103 -0
  86. package/dist/migrate/export/cognito.js +441 -0
  87. package/dist/migrate/export/cognito.js.map +1 -0
  88. package/dist/migrate/export/corbado-config.d.ts +20 -0
  89. package/dist/migrate/export/corbado-config.js +63 -0
  90. package/dist/migrate/export/corbado-config.js.map +1 -0
  91. package/dist/migrate/export/corbado.d.ts +37 -0
  92. package/dist/migrate/export/corbado.js +132 -0
  93. package/dist/migrate/export/corbado.js.map +1 -0
  94. package/dist/migrate/export/descope.d.ts +35 -0
  95. package/dist/migrate/export/descope.js +208 -0
  96. package/dist/migrate/export/descope.js.map +1 -0
  97. package/dist/migrate/export/fake-vendor.test-helper.d.ts +27 -0
  98. package/dist/migrate/export/fake-vendor.test-helper.js +41 -0
  99. package/dist/migrate/export/fake-vendor.test-helper.js.map +1 -0
  100. package/dist/migrate/export/firebase-config.d.ts +24 -0
  101. package/dist/migrate/export/firebase-config.js +215 -0
  102. package/dist/migrate/export/firebase-config.js.map +1 -0
  103. package/dist/migrate/export/firebase.d.ts +102 -0
  104. package/dist/migrate/export/firebase.js +464 -0
  105. package/dist/migrate/export/firebase.js.map +1 -0
  106. package/dist/migrate/export/frameworks/app-users.d.ts +42 -0
  107. package/dist/migrate/export/frameworks/app-users.js +161 -0
  108. package/dist/migrate/export/frameworks/app-users.js.map +1 -0
  109. package/dist/migrate/export/frameworks/authjs.d.ts +41 -0
  110. package/dist/migrate/export/frameworks/authjs.js +146 -0
  111. package/dist/migrate/export/frameworks/authjs.js.map +1 -0
  112. package/dist/migrate/export/frameworks/devise.d.ts +39 -0
  113. package/dist/migrate/export/frameworks/devise.js +218 -0
  114. package/dist/migrate/export/frameworks/devise.js.map +1 -0
  115. package/dist/migrate/export/frameworks/django.d.ts +45 -0
  116. package/dist/migrate/export/frameworks/django.js +315 -0
  117. package/dist/migrate/export/frameworks/django.js.map +1 -0
  118. package/dist/migrate/export/frameworks/lucia.d.ts +42 -0
  119. package/dist/migrate/export/frameworks/lucia.js +263 -0
  120. package/dist/migrate/export/frameworks/lucia.js.map +1 -0
  121. package/dist/migrate/export/frameworks/tables.d.ts +90 -0
  122. package/dist/migrate/export/frameworks/tables.js +325 -0
  123. package/dist/migrate/export/frameworks/tables.js.map +1 -0
  124. package/dist/migrate/export/frameworks/webauthn.d.ts +25 -0
  125. package/dist/migrate/export/frameworks/webauthn.js +130 -0
  126. package/dist/migrate/export/frameworks/webauthn.js.map +1 -0
  127. package/dist/migrate/export/frontegg-config.d.ts +29 -0
  128. package/dist/migrate/export/frontegg-config.js +238 -0
  129. package/dist/migrate/export/frontegg-config.js.map +1 -0
  130. package/dist/migrate/export/frontegg.d.ts +67 -0
  131. package/dist/migrate/export/frontegg.js +410 -0
  132. package/dist/migrate/export/frontegg.js.map +1 -0
  133. package/dist/migrate/export/fusionauth-config.d.ts +26 -0
  134. package/dist/migrate/export/fusionauth-config.js +226 -0
  135. package/dist/migrate/export/fusionauth-config.js.map +1 -0
  136. package/dist/migrate/export/fusionauth.d.ts +99 -0
  137. package/dist/migrate/export/fusionauth.js +642 -0
  138. package/dist/migrate/export/fusionauth.js.map +1 -0
  139. package/dist/migrate/export/hanko-config.d.ts +27 -0
  140. package/dist/migrate/export/hanko-config.js +265 -0
  141. package/dist/migrate/export/hanko-config.js.map +1 -0
  142. package/dist/migrate/export/hanko.d.ts +52 -0
  143. package/dist/migrate/export/hanko.js +605 -0
  144. package/dist/migrate/export/hanko.js.map +1 -0
  145. package/dist/migrate/export/keycloak-config.d.ts +19 -0
  146. package/dist/migrate/export/keycloak-config.js +219 -0
  147. package/dist/migrate/export/keycloak-config.js.map +1 -0
  148. package/dist/migrate/export/keycloak.d.ts +155 -0
  149. package/dist/migrate/export/keycloak.js +878 -0
  150. package/dist/migrate/export/keycloak.js.map +1 -0
  151. package/dist/migrate/export/kinde-descope-config.d.ts +38 -0
  152. package/dist/migrate/export/kinde-descope-config.js +172 -0
  153. package/dist/migrate/export/kinde-descope-config.js.map +1 -0
  154. package/dist/migrate/export/kinde.d.ts +57 -0
  155. package/dist/migrate/export/kinde.js +333 -0
  156. package/dist/migrate/export/kinde.js.map +1 -0
  157. package/dist/migrate/export/ldap.d.ts +53 -0
  158. package/dist/migrate/export/ldap.js +277 -0
  159. package/dist/migrate/export/ldap.js.map +1 -0
  160. package/dist/migrate/export/logto-config.d.ts +27 -0
  161. package/dist/migrate/export/logto-config.js +264 -0
  162. package/dist/migrate/export/logto-config.js.map +1 -0
  163. package/dist/migrate/export/logto.d.ts +150 -0
  164. package/dist/migrate/export/logto.js +809 -0
  165. package/dist/migrate/export/logto.js.map +1 -0
  166. package/dist/migrate/export/magic-config.d.ts +14 -0
  167. package/dist/migrate/export/magic-config.js +28 -0
  168. package/dist/migrate/export/magic-config.js.map +1 -0
  169. package/dist/migrate/export/magic.d.ts +31 -0
  170. package/dist/migrate/export/magic.js +93 -0
  171. package/dist/migrate/export/magic.js.map +1 -0
  172. package/dist/migrate/export/mini-yaml.d.ts +19 -0
  173. package/dist/migrate/export/mini-yaml.js +581 -0
  174. package/dist/migrate/export/mini-yaml.js.map +1 -0
  175. package/dist/migrate/export/nhost-config.d.ts +26 -0
  176. package/dist/migrate/export/nhost-config.js +360 -0
  177. package/dist/migrate/export/nhost-config.js.map +1 -0
  178. package/dist/migrate/export/nhost.d.ts +64 -0
  179. package/dist/migrate/export/nhost.js +304 -0
  180. package/dist/migrate/export/nhost.js.map +1 -0
  181. package/dist/migrate/export/okta-config.d.ts +30 -0
  182. package/dist/migrate/export/okta-config.js +205 -0
  183. package/dist/migrate/export/okta-config.js.map +1 -0
  184. package/dist/migrate/export/okta.d.ts +43 -0
  185. package/dist/migrate/export/okta.js +337 -0
  186. package/dist/migrate/export/okta.js.map +1 -0
  187. package/dist/migrate/export/onelogin.d.ts +22 -0
  188. package/dist/migrate/export/onelogin.js +123 -0
  189. package/dist/migrate/export/onelogin.js.map +1 -0
  190. package/dist/migrate/export/ory-config.d.ts +58 -0
  191. package/dist/migrate/export/ory-config.js +451 -0
  192. package/dist/migrate/export/ory-config.js.map +1 -0
  193. package/dist/migrate/export/ory.d.ts +81 -0
  194. package/dist/migrate/export/ory.js +555 -0
  195. package/dist/migrate/export/ory.js.map +1 -0
  196. package/dist/migrate/export/password-detect.d.ts +29 -0
  197. package/dist/migrate/export/password-detect.js +81 -0
  198. package/dist/migrate/export/password-detect.js.map +1 -0
  199. package/dist/migrate/export/pingone.d.ts +36 -0
  200. package/dist/migrate/export/pingone.js +218 -0
  201. package/dist/migrate/export/pingone.js.map +1 -0
  202. package/dist/migrate/export/plugin-kit.d.ts +25 -0
  203. package/dist/migrate/export/plugin-kit.js +82 -0
  204. package/dist/migrate/export/plugin-kit.js.map +1 -0
  205. package/dist/migrate/export/pocketbase-config.d.ts +28 -0
  206. package/dist/migrate/export/pocketbase-config.js +180 -0
  207. package/dist/migrate/export/pocketbase-config.js.map +1 -0
  208. package/dist/migrate/export/pocketbase.d.ts +52 -0
  209. package/dist/migrate/export/pocketbase.js +243 -0
  210. package/dist/migrate/export/pocketbase.js.map +1 -0
  211. package/dist/migrate/export/project-files.d.ts +15 -0
  212. package/dist/migrate/export/project-files.js +43 -0
  213. package/dist/migrate/export/project-files.js.map +1 -0
  214. package/dist/migrate/export/propelauth-config.d.ts +18 -0
  215. package/dist/migrate/export/propelauth-config.js +58 -0
  216. package/dist/migrate/export/propelauth-config.js.map +1 -0
  217. package/dist/migrate/export/propelauth-harness.test-helper.d.ts +62 -0
  218. package/dist/migrate/export/propelauth-harness.test-helper.js +109 -0
  219. package/dist/migrate/export/propelauth-harness.test-helper.js.map +1 -0
  220. package/dist/migrate/export/propelauth.d.ts +48 -0
  221. package/dist/migrate/export/propelauth.js +255 -0
  222. package/dist/migrate/export/propelauth.js.map +1 -0
  223. package/dist/migrate/export/record-set.d.ts +44 -0
  224. package/dist/migrate/export/record-set.js +98 -0
  225. package/dist/migrate/export/record-set.js.map +1 -0
  226. package/dist/migrate/export/source-lines.d.ts +17 -0
  227. package/dist/migrate/export/source-lines.js +43 -0
  228. package/dist/migrate/export/source-lines.js.map +1 -0
  229. package/dist/migrate/export/sso-metadata.d.ts +47 -0
  230. package/dist/migrate/export/sso-metadata.js +180 -0
  231. package/dist/migrate/export/sso-metadata.js.map +1 -0
  232. package/dist/migrate/export/stytch-config.d.ts +22 -0
  233. package/dist/migrate/export/stytch-config.js +102 -0
  234. package/dist/migrate/export/stytch-config.js.map +1 -0
  235. package/dist/migrate/export/stytch.d.ts +68 -0
  236. package/dist/migrate/export/stytch.js +510 -0
  237. package/dist/migrate/export/stytch.js.map +1 -0
  238. package/dist/migrate/export/supabase-config.d.ts +48 -0
  239. package/dist/migrate/export/supabase-config.js +408 -0
  240. package/dist/migrate/export/supabase-config.js.map +1 -0
  241. package/dist/migrate/export/supabase.d.ts +86 -0
  242. package/dist/migrate/export/supabase.js +524 -0
  243. package/dist/migrate/export/supabase.js.map +1 -0
  244. package/dist/migrate/export/supertokens-config.d.ts +20 -0
  245. package/dist/migrate/export/supertokens-config.js +150 -0
  246. package/dist/migrate/export/supertokens-config.js.map +1 -0
  247. package/dist/migrate/export/supertokens.d.ts +125 -0
  248. package/dist/migrate/export/supertokens.js +464 -0
  249. package/dist/migrate/export/supertokens.js.map +1 -0
  250. package/dist/migrate/export/table.d.ts +35 -0
  251. package/dist/migrate/export/table.js +248 -0
  252. package/dist/migrate/export/table.js.map +1 -0
  253. package/dist/migrate/export/translate-kit.d.ts +46 -0
  254. package/dist/migrate/export/translate-kit.js +148 -0
  255. package/dist/migrate/export/translate-kit.js.map +1 -0
  256. package/dist/migrate/export/userfront-config.d.ts +15 -0
  257. package/dist/migrate/export/userfront-config.js +49 -0
  258. package/dist/migrate/export/userfront-config.js.map +1 -0
  259. package/dist/migrate/export/userfront.d.ts +38 -0
  260. package/dist/migrate/export/userfront.js +189 -0
  261. package/dist/migrate/export/userfront.js.map +1 -0
  262. package/dist/migrate/export/vendor-http.d.ts +46 -0
  263. package/dist/migrate/export/vendor-http.js +138 -0
  264. package/dist/migrate/export/vendor-http.js.map +1 -0
  265. package/dist/migrate/export/workos-config.d.ts +23 -0
  266. package/dist/migrate/export/workos-config.js +125 -0
  267. package/dist/migrate/export/workos-config.js.map +1 -0
  268. package/dist/migrate/export/workos.d.ts +46 -0
  269. package/dist/migrate/export/workos.js +272 -0
  270. package/dist/migrate/export/workos.js.map +1 -0
  271. package/dist/migrate/export/zip.d.ts +8 -0
  272. package/dist/migrate/export/zip.js +66 -0
  273. package/dist/migrate/export/zip.js.map +1 -0
  274. package/dist/migrate/export/zitadel-config.d.ts +37 -0
  275. package/dist/migrate/export/zitadel-config.js +279 -0
  276. package/dist/migrate/export/zitadel-config.js.map +1 -0
  277. package/dist/migrate/export/zitadel.d.ts +82 -0
  278. package/dist/migrate/export/zitadel.js +447 -0
  279. package/dist/migrate/export/zitadel.js.map +1 -0
  280. package/dist/migrate/firebase/plugin.d.ts +2 -0
  281. package/dist/migrate/firebase/plugin.js +152 -0
  282. package/dist/migrate/firebase/plugin.js.map +1 -0
  283. package/dist/migrate/framework/builtins.d.ts +2 -0
  284. package/dist/migrate/framework/builtins.js +52 -0
  285. package/dist/migrate/framework/builtins.js.map +1 -0
  286. package/dist/migrate/framework/commands.d.ts +20 -0
  287. package/dist/migrate/framework/commands.js +58 -0
  288. package/dist/migrate/framework/commands.js.map +1 -0
  289. package/dist/migrate/framework/custom.d.ts +12 -0
  290. package/dist/migrate/framework/custom.js +96 -0
  291. package/dist/migrate/framework/custom.js.map +1 -0
  292. package/dist/migrate/framework/orchestrator.d.ts +113 -0
  293. package/dist/migrate/framework/orchestrator.js +532 -0
  294. package/dist/migrate/framework/orchestrator.js.map +1 -0
  295. package/dist/migrate/framework/plugin.d.ts +167 -0
  296. package/dist/migrate/framework/plugin.js +3 -0
  297. package/dist/migrate/framework/plugin.js.map +1 -0
  298. package/dist/migrate/framework/registry.d.ts +11 -0
  299. package/dist/migrate/framework/registry.js +44 -0
  300. package/dist/migrate/framework/registry.js.map +1 -0
  301. package/dist/migrate/framework/report.d.ts +17 -0
  302. package/dist/migrate/framework/report.js +103 -0
  303. package/dist/migrate/framework/report.js.map +1 -0
  304. package/dist/migrate/frameworks/plugins.d.ts +29 -0
  305. package/dist/migrate/frameworks/plugins.js +402 -0
  306. package/dist/migrate/frameworks/plugins.js.map +1 -0
  307. package/dist/migrate/frameworks/report.d.ts +92 -0
  308. package/dist/migrate/frameworks/report.js +207 -0
  309. package/dist/migrate/frameworks/report.js.map +1 -0
  310. package/dist/migrate/frameworks/translate-js.d.ts +5 -0
  311. package/dist/migrate/frameworks/translate-js.js +503 -0
  312. package/dist/migrate/frameworks/translate-js.js.map +1 -0
  313. package/dist/migrate/frameworks/translate-rails-django.d.ts +3 -0
  314. package/dist/migrate/frameworks/translate-rails-django.js +1391 -0
  315. package/dist/migrate/frameworks/translate-rails-django.js.map +1 -0
  316. package/dist/migrate/frontegg/plugin.d.ts +2 -0
  317. package/dist/migrate/frontegg/plugin.js +78 -0
  318. package/dist/migrate/frontegg/plugin.js.map +1 -0
  319. package/dist/migrate/fusionauth/plugin.d.ts +2 -0
  320. package/dist/migrate/fusionauth/plugin.js +109 -0
  321. package/dist/migrate/fusionauth/plugin.js.map +1 -0
  322. package/dist/migrate/hanko/plugin.d.ts +2 -0
  323. package/dist/migrate/hanko/plugin.js +100 -0
  324. package/dist/migrate/hanko/plugin.js.map +1 -0
  325. package/dist/migrate/keycloak/plugin.d.ts +2 -0
  326. package/dist/migrate/keycloak/plugin.js +148 -0
  327. package/dist/migrate/keycloak/plugin.js.map +1 -0
  328. package/dist/migrate/kinde/plugin.d.ts +2 -0
  329. package/dist/migrate/kinde/plugin.js +105 -0
  330. package/dist/migrate/kinde/plugin.js.map +1 -0
  331. package/dist/migrate/ldap/plugin.d.ts +2 -0
  332. package/dist/migrate/ldap/plugin.js +73 -0
  333. package/dist/migrate/ldap/plugin.js.map +1 -0
  334. package/dist/migrate/logto/plugin.d.ts +2 -0
  335. package/dist/migrate/logto/plugin.js +131 -0
  336. package/dist/migrate/logto/plugin.js.map +1 -0
  337. package/dist/migrate/magic/plugin.d.ts +2 -0
  338. package/dist/migrate/magic/plugin.js +56 -0
  339. package/dist/migrate/magic/plugin.js.map +1 -0
  340. package/dist/migrate/nhost/plugin.d.ts +2 -0
  341. package/dist/migrate/nhost/plugin.js +115 -0
  342. package/dist/migrate/nhost/plugin.js.map +1 -0
  343. package/dist/migrate/oidc/plugin.d.ts +2 -0
  344. package/dist/migrate/oidc/plugin.js +73 -0
  345. package/dist/migrate/oidc/plugin.js.map +1 -0
  346. package/dist/migrate/okta/plugin.d.ts +2 -0
  347. package/dist/migrate/okta/plugin.js +105 -0
  348. package/dist/migrate/okta/plugin.js.map +1 -0
  349. package/dist/migrate/onelogin/plugin.d.ts +2 -0
  350. package/dist/migrate/onelogin/plugin.js +61 -0
  351. package/dist/migrate/onelogin/plugin.js.map +1 -0
  352. package/dist/migrate/ory/plugin.d.ts +2 -0
  353. package/dist/migrate/ory/plugin.js +186 -0
  354. package/dist/migrate/ory/plugin.js.map +1 -0
  355. package/dist/migrate/ping-identity/plugin.d.ts +2 -0
  356. package/dist/migrate/ping-identity/plugin.js +100 -0
  357. package/dist/migrate/ping-identity/plugin.js.map +1 -0
  358. package/dist/migrate/pocketbase/plugin.d.ts +2 -0
  359. package/dist/migrate/pocketbase/plugin.js +99 -0
  360. package/dist/migrate/pocketbase/plugin.js.map +1 -0
  361. package/dist/migrate/propelauth/plugin.d.ts +2 -0
  362. package/dist/migrate/propelauth/plugin.js +65 -0
  363. package/dist/migrate/propelauth/plugin.js.map +1 -0
  364. package/dist/migrate/saml/plugin.d.ts +2 -0
  365. package/dist/migrate/saml/plugin.js +79 -0
  366. package/dist/migrate/saml/plugin.js.map +1 -0
  367. package/dist/migrate/stytch/plugin.d.ts +2 -0
  368. package/dist/migrate/stytch/plugin.js +97 -0
  369. package/dist/migrate/stytch/plugin.js.map +1 -0
  370. package/dist/migrate/supabase/plugin.d.ts +2 -0
  371. package/dist/migrate/supabase/plugin.js +149 -0
  372. package/dist/migrate/supabase/plugin.js.map +1 -0
  373. package/dist/migrate/supertokens/plugin.d.ts +2 -0
  374. package/dist/migrate/supertokens/plugin.js +114 -0
  375. package/dist/migrate/supertokens/plugin.js.map +1 -0
  376. package/dist/migrate/user-table/plugin.d.ts +2 -0
  377. package/dist/migrate/user-table/plugin.js +62 -0
  378. package/dist/migrate/user-table/plugin.js.map +1 -0
  379. package/dist/migrate/userfront/plugin.d.ts +2 -0
  380. package/dist/migrate/userfront/plugin.js +60 -0
  381. package/dist/migrate/userfront/plugin.js.map +1 -0
  382. package/dist/migrate/workos/plugin.d.ts +2 -0
  383. package/dist/migrate/workos/plugin.js +81 -0
  384. package/dist/migrate/workos/plugin.js.map +1 -0
  385. package/dist/migrate/zitadel/plugin.d.ts +2 -0
  386. package/dist/migrate/zitadel/plugin.js +114 -0
  387. package/dist/migrate/zitadel/plugin.js.map +1 -0
  388. package/dist/run.js +4 -0
  389. package/dist/run.js.map +1 -1
  390. package/package.json +7 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentik.js","sourceRoot":"","sources":["../../../src/migrate/export/authentik.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { TranslationResult } from '../framework/plugin';
2
+ import { type AzureKind } from './azure';
3
+ import { type Obj } from './record-set';
4
+ import { type VendorHttp } from './vendor-http';
5
+ /**
6
+ * `atlas migrate azure-ad-b2c | entra-external-id config` — the tenant's
7
+ * sign-in setup → Atlas config, read through Microsoft Graph with the
8
+ * owner's app registration: identity providers (local email / username /
9
+ * phone, email OTP, social, OIDC / SAML federation), user flows (B2C
10
+ * `b2cUserFlows` on Graph beta, External ID `authenticationEventsFlows`),
11
+ * custom user attributes, app registrations (redirect URIs) and groups.
12
+ *
13
+ * B2C custom policies (Identity Experience Framework) are read from the
14
+ * policy XML files when given: every claims provider technical profile is
15
+ * reported with its file and line (social / OIDC / SAML IdPs, REST API
16
+ * calls, JWT issuer lifetimes, the relying party's subject claim).
17
+ */
18
+ export interface AzureConfigSnapshot {
19
+ kind: AzureKind;
20
+ tenant: string;
21
+ tenantId?: string;
22
+ tenantName?: string;
23
+ identityProviders: Obj[];
24
+ /** B2C user flows (with `identityProviders` and `userAttributeAssignments` expanded when Graph allows). */
25
+ userFlows: Obj[];
26
+ /** External ID sign-up / sign-in flows. */
27
+ eventsFlows: Obj[];
28
+ userFlowAttributes: Obj[];
29
+ applications: Obj[];
30
+ groups: Obj[];
31
+ /** B2C custom policy files: name and XML text. */
32
+ policies: Array<{
33
+ file: string;
34
+ text: string;
35
+ }>;
36
+ }
37
+ export declare function fetchAzureConfig(http: VendorHttp, kind: AzureKind, tenant: string, policies?: AzureConfigSnapshot['policies']): Promise<AzureConfigSnapshot>;
38
+ export interface PolicyTechnicalProfile {
39
+ file: string;
40
+ line: number;
41
+ id: string;
42
+ displayName?: string;
43
+ protocol?: string;
44
+ handler?: string;
45
+ metadata: Record<string, string>;
46
+ /** The `<Domain>` of the claims provider the profile belongs to. */
47
+ domain?: string;
48
+ /** Inside `<RelyingParty>` (the policy's own token profile, not a federation). */
49
+ relyingParty: boolean;
50
+ }
51
+ /** The technical profiles of one policy file (regex-level: IEF policies are regular, attribute-quoted XML). */
52
+ export declare function parsePolicyProfiles(file: string, text: string): PolicyTechnicalProfile[];
53
+ /** The relying party's `sub` output claim, with its location (`objectId` keeps the bridge working). */
54
+ export declare function relyingPartySubject(file: string, text: string): {
55
+ claim: string;
56
+ line: number;
57
+ } | undefined;
58
+ export declare function translateAzureConfig(snap: AzureConfigSnapshot): TranslationResult;
@@ -0,0 +1,344 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchAzureConfig = fetchAzureConfig;
4
+ exports.parsePolicyProfiles = parsePolicyProfiles;
5
+ exports.relyingPartySubject = relyingPartySubject;
6
+ exports.translateAzureConfig = translateAzureConfig;
7
+ const azure_1 = require("./azure");
8
+ const record_set_1 = require("./record-set");
9
+ const translate_kit_1 = require("./translate-kit");
10
+ const vendor_http_1 = require("./vendor-http");
11
+ const BETA = 'https://graph.microsoft.com/beta';
12
+ async function fetchAzureConfig(http, kind, tenant, policies = []) {
13
+ const soft = async (path) => {
14
+ try {
15
+ return await (0, azure_1.graphAll)(http, path);
16
+ }
17
+ catch (err) {
18
+ if (err instanceof vendor_http_1.VendorApiError && [400, 401, 403, 404].includes(err.status))
19
+ return [];
20
+ throw err;
21
+ }
22
+ };
23
+ const info = await (0, azure_1.azureTenantInfo)(http);
24
+ const userFlows = kind === 'b2c' ? await soft(`${BETA}/identity/b2cUserFlows`) : [];
25
+ for (const f of userFlows) {
26
+ const id = (0, record_set_1.str)(f.id);
27
+ if (!id)
28
+ continue;
29
+ f.identityProviders = await soft(`${BETA}/identity/b2cUserFlows/${encodeURIComponent(id)}/userFlowIdentityProviders`);
30
+ f.userAttributeAssignments = await soft(`${BETA}/identity/b2cUserFlows/${encodeURIComponent(id)}/userAttributeAssignments`);
31
+ }
32
+ return {
33
+ kind,
34
+ tenant,
35
+ tenantId: info.tenantId,
36
+ tenantName: info.tenantName,
37
+ identityProviders: await soft('/identity/identityProviders'),
38
+ userFlows,
39
+ eventsFlows: kind === 'entra' ? await soft('/identity/authenticationEventsFlows') : [],
40
+ userFlowAttributes: await soft('/identity/userFlowAttributes'),
41
+ applications: await soft('/applications?$select=id,appId,displayName,web,spa,publicClient,isFallbackPublicClient,signInAudience&$top=999'),
42
+ groups: await soft('/groups?$select=id,displayName,description&$top=999'),
43
+ policies,
44
+ };
45
+ }
46
+ /** Graph social identityProviderType → Atlas built-in provider key. */
47
+ const SOCIAL = {
48
+ google: 'google',
49
+ facebook: 'facebook',
50
+ microsoftaccount: 'microsoft',
51
+ microsoft: 'microsoft',
52
+ amazon: 'amazon',
53
+ linkedin: 'linkedin',
54
+ twitter: 'x',
55
+ github: 'github',
56
+ apple: 'apple',
57
+ };
58
+ const typeOf = (o) => ((0, record_set_1.str)(o['@odata.type']) ?? '').replace('#microsoft.graph.', '');
59
+ const lineAt = (text, index) => text.slice(0, index).split('\n').length;
60
+ const decodeXml = (s) => s.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, '&');
61
+ /** The technical profiles of one policy file (regex-level: IEF policies are regular, attribute-quoted XML). */
62
+ function parsePolicyProfiles(file, text) {
63
+ const out = [];
64
+ const rpStart = text.indexOf('<RelyingParty');
65
+ const re = /<TechnicalProfile\s+Id="([^"]+)"[^>]*?(\/>|>([\s\S]*?)<\/TechnicalProfile>)/g;
66
+ for (let m = re.exec(text); m; m = re.exec(text)) {
67
+ const body = m[3] ?? '';
68
+ const metadata = {};
69
+ const meta = /<Metadata>([\s\S]*?)<\/Metadata>/.exec(body);
70
+ if (meta)
71
+ for (const item of meta[1].matchAll(/<Item\s+Key="([^"]+)"\s*>([\s\S]*?)<\/Item>/g))
72
+ metadata[item[1]] = decodeXml(item[2].trim());
73
+ const protocol = /<Protocol\s+Name="([^"]+)"(?:\s+Handler="([^"]+)")?/.exec(body);
74
+ out.push({
75
+ file,
76
+ line: lineAt(text, m.index),
77
+ id: m[1],
78
+ displayName: /<DisplayName>([\s\S]*?)<\/DisplayName>/.exec(body)?.[1]?.trim(),
79
+ protocol: protocol?.[1],
80
+ handler: protocol?.[2],
81
+ metadata,
82
+ domain: domainBefore(text, m.index),
83
+ relyingParty: rpStart >= 0 && m.index > rpStart,
84
+ });
85
+ }
86
+ return out;
87
+ }
88
+ /** The `<Domain>` of the `<ClaimsProvider>` enclosing a position, if any. */
89
+ function domainBefore(text, index) {
90
+ const start = text.lastIndexOf('<ClaimsProvider>', index);
91
+ if (start < 0)
92
+ return undefined;
93
+ return /<Domain>([\s\S]*?)<\/Domain>/.exec(text.slice(start, index))?.[1]?.trim();
94
+ }
95
+ /** The relying party's `sub` output claim, with its location (`objectId` keeps the bridge working). */
96
+ function relyingPartySubject(file, text) {
97
+ const rp = text.indexOf('<RelyingParty');
98
+ if (rp < 0)
99
+ return undefined;
100
+ const m = /<OutputClaim\s+ClaimTypeReferenceId="([^"]+)"[^>]*PartnerClaimType="sub"/.exec(text.slice(rp));
101
+ return m ? { claim: m[1], line: lineAt(text, rp + m.index) } : undefined;
102
+ }
103
+ function translatePolicies(b, files) {
104
+ const at = (p, status, setting, note, atlas) => b.report.push({ status, area: `custom policy ${p.file}`, setting, note, file: p.file, line: p.line, ...(atlas ? { atlas } : {}) });
105
+ for (const { file, text } of files) {
106
+ for (const tp of parsePolicyProfiles(file, text)) {
107
+ if (tp.relyingParty)
108
+ continue;
109
+ const protocol = tp.protocol ?? '';
110
+ const handler = tp.handler ?? '';
111
+ const name = `TechnicalProfile ${tp.id}`;
112
+ if (protocol === 'OAuth2' || protocol === 'OpenIdConnect') {
113
+ const provider = (tp.metadata.ProviderName ?? tp.domain ?? '').toLowerCase();
114
+ const key = Object.entries(SOCIAL).find(([k]) => provider.includes(k))?.[1];
115
+ if (key) {
116
+ const before = b.report.length;
117
+ b.socialProvider({ atlasKey: key, vendorName: tp.displayName ?? tp.id, area: `custom policy ${file}`, setting: name, clientId: tp.metadata.client_id, scopes: tp.metadata.scope?.split(/\s+/).filter(Boolean) });
118
+ if (b.report.length > before)
119
+ Object.assign(b.report[b.report.length - 1], { file, line: tp.line });
120
+ }
121
+ else {
122
+ at(tp, 'mapped', name, `${protocol} federation${tp.metadata.METADATA ? ` (${tp.metadata.METADATA})` : ''}: an Atlas OIDC SSO connection; register Atlas's redirect URI with the IdP and reuse its client id.`, 'sso_connections');
123
+ }
124
+ }
125
+ else if (protocol === 'SAML2' && !/Saml2AssertionIssuer|SamlIssuer/i.test(handler + tp.id)) {
126
+ at(tp, 'mapped', name, `SAML federation${tp.metadata.PartnerEntity ? ` (${tp.metadata.PartnerEntity})` : ''}: an Atlas SAML SSO connection; give the IdP Atlas's ACS URL and entity id.`, 'sso_connections');
127
+ }
128
+ else if (/RestfulProvider/i.test(handler)) {
129
+ at(tp, 'manual', name, `REST API call${tp.metadata.ServiceUrl ? ` to ${tp.metadata.ServiceUrl}` : ''} during the journey: port it to an Atlas action (pre_user_registration / post_login) or webhook.`, 'actions');
130
+ }
131
+ else if (/JwtIssuer/i.test(handler) || (protocol === 'None' && /JwtIssuer/i.test(tp.id))) {
132
+ const refresh = Number(tp.metadata.rolling_refresh_token_lifetime_secs ?? tp.metadata.refresh_token_lifetime_secs);
133
+ if (Number.isFinite(refresh) && refresh > 0) {
134
+ b.set('session.absoluteMs', (0, translate_kit_1.clampSessionMs)(refresh * 1000));
135
+ at(tp, 'mapped', `${name} refresh_token_lifetime_secs`, `Users stayed signed in up to ${Math.round(refresh / 86_400)} day(s).`, 'auth_config.session.absoluteMs');
136
+ }
137
+ if (tp.metadata.token_lifetime_secs)
138
+ at(tp, 'differs', `${name} token_lifetime_secs`, 'Atlas session tokens are short-lived and refreshed by the SDK; the lifetime is not configurable per policy.', 'auth_config.session');
139
+ }
140
+ else if (/PhoneFactor/i.test(handler)) {
141
+ at(tp, 'differs', name, 'Phone MFA: SMS second factors move with the export (with authentication methods); Atlas recommends TOTP or passkeys.', 'auth_config.mfa');
142
+ }
143
+ else if (/AzureMfa/i.test(handler) || /totp|authenticator/i.test(tp.id)) {
144
+ b.set('mfa.factors.totp', true);
145
+ at(tp, 'differs', name, 'Authenticator-app MFA: the secrets do not move, users enrol again.', 'auth_config.mfa.factors.totp');
146
+ }
147
+ else if (/ClaimsTransformationProtocolProvider|AzureActiveDirectoryProvider|SelfAssertedAttributeProvider|SSOSessionProvider|NoopSSO|DefaultSSO|ExternalLoginSSO|OAuthSSO/i.test(handler + protocol + tp.id)) {
148
+ continue; // directory reads/writes, self-asserted pages and session managers: built into Atlas
149
+ }
150
+ else if (protocol === 'Proprietary' || protocol === 'None') {
151
+ at(tp, 'manual', name, `${handler.split(',')[0] || protocol} technical profile: review whether your journey depends on it.`);
152
+ }
153
+ }
154
+ const sub = relyingPartySubject(file, text);
155
+ if (sub && sub.claim !== 'objectId') {
156
+ at({ file, line: sub.line }, 'differs', `RelyingParty OutputClaim ${sub.claim} → sub`, `This policy issues ${sub.claim} as sub, not the object id the export keys users by: set the bridge subject claim to one carrying the object id (add an oid output claim), or the bridge cannot find users.`, 'migration bridge');
157
+ }
158
+ }
159
+ }
160
+ // ── the translation ─────────────────────────────────────────────────────────
161
+ function translateAzureConfig(snap) {
162
+ const b = new translate_kit_1.ConfigBuilder();
163
+ const label = snap.kind === 'b2c' ? 'Azure AD B2C' : 'Entra External ID';
164
+ // ── identity providers ──
165
+ let localPassword = snap.kind === 'b2c'; // B2C local accounts are always available to user flows
166
+ for (const idp of snap.identityProviders) {
167
+ const t = typeOf(idp);
168
+ const name = (0, record_set_1.str)(idp.displayName) ?? (0, record_set_1.str)(idp.id) ?? t;
169
+ const setting = `${name} (${t || 'identityProvider'})`;
170
+ if (t === 'builtInIdentityProvider') {
171
+ const kind = (0, record_set_1.str)(idp.identityProviderType) ?? (0, record_set_1.str)(idp.id) ?? '';
172
+ if (/EmailPassword/i.test(kind))
173
+ localPassword = true;
174
+ else if (/EmailOTP/i.test(kind)) {
175
+ b.set('strategies.emailCode', true);
176
+ b.add('mapped', 'identity providers', setting, 'Email one-time passcode sign-in.', 'auth_config.strategies.emailCode');
177
+ }
178
+ else if (/AADSignup|MSASignup/i.test(kind))
179
+ b.add('manual', 'identity providers', setting, 'Sign-in with a Microsoft work / personal account: add Atlas\'s Microsoft provider (or an Entra ID SSO connection) and point it at your app registration.', 'oauth_providers microsoft');
180
+ continue;
181
+ }
182
+ if (t === 'appleManagedIdentityProvider') {
183
+ b.socialProvider({ atlasKey: 'apple', vendorName: name, area: 'identity providers', setting, clientId: (0, record_set_1.str)(idp.serviceId) });
184
+ continue;
185
+ }
186
+ if (t === 'socialIdentityProvider' || t === 'identityProvider') {
187
+ const kind = ((0, record_set_1.str)(idp.identityProviderType) ?? (0, record_set_1.str)(idp.type) ?? '').toLowerCase();
188
+ const key = SOCIAL[kind];
189
+ if (key)
190
+ b.socialProvider({ atlasKey: key, vendorName: name, area: 'identity providers', setting, clientId: (0, record_set_1.str)(idp.clientId) });
191
+ else
192
+ b.add('manual', 'identity providers', setting, 'No built-in Atlas provider: add it as a custom OAuth provider.', 'custom_oauth_providers');
193
+ continue;
194
+ }
195
+ if (t === 'openIdConnectIdentityProvider' || t === 'oidcIdentityProvider') {
196
+ b.add('mapped', 'identity providers', setting, `OIDC federation${(0, record_set_1.str)(idp.metadataUrl) ?? (0, record_set_1.str)(idp.issuer) ? ` (${(0, record_set_1.str)(idp.metadataUrl) ?? (0, record_set_1.str)(idp.issuer)})` : ''}: an Atlas OIDC SSO connection; register Atlas's redirect URI with the IdP and reuse its client id.`, 'sso_connections');
197
+ continue;
198
+ }
199
+ if (/saml|wsFed|Federation/i.test(t)) {
200
+ b.add('mapped', 'identity providers', setting, 'SAML / WS-Fed federation: an Atlas SAML SSO connection; give the IdP Atlas\'s ACS URL and entity id (WS-Fed IdPs need their SAML endpoint).', 'sso_connections');
201
+ continue;
202
+ }
203
+ b.add('manual', 'identity providers', setting, 'Unrecognised identity provider type: review it by hand.');
204
+ }
205
+ if (localPassword) {
206
+ b.set('strategies.password', true);
207
+ b.add('differs', 'identity providers', snap.kind === 'b2c' ? 'Local accounts' : 'EmailPassword', `Password sign-in. ${label} never exports passwords: the ${snap.kind === 'b2c' ? 'azure_ad_b2c' : 'entra_external_id'} lazy-migration preset checks each one on first sign-in.`, 'auth_config.strategies.password');
208
+ }
209
+ // ── B2C user flows ──
210
+ let ropcFlow;
211
+ let signInFlow;
212
+ for (const f of snap.userFlows) {
213
+ const id = (0, record_set_1.str)(f.id) ?? '?';
214
+ const type = (0, record_set_1.str)(f.userFlowType) ?? '';
215
+ const area = `user flow ${id}`;
216
+ if (type === 'resourceOwner') {
217
+ ropcFlow ??= id;
218
+ b.add('mapped', area, 'userFlowType resourceOwner', 'The ROPC user flow lazy migration checks passwords with.', 'legacy_auth_connection');
219
+ continue;
220
+ }
221
+ if (type === 'signUpOrSignIn' || type === 'signIn')
222
+ signInFlow ??= id;
223
+ if (type === 'signUp' || type === 'signUpOrSignIn' || type === 'signIn') {
224
+ b.add('mapped', area, `userFlowType ${type}`, 'Atlas\'s sign-in / sign-up pages (or components) replace this flow.', 'auth_config.strategies');
225
+ if (Number(f.userFlowTypeVersion) === 1)
226
+ b.add('differs', area, 'userFlowTypeVersion 1', 'A legacy (v1) user flow: check that its tokens carry the object id as sub before relying on the bridge.', 'migration bridge');
227
+ }
228
+ else if (type === 'passwordReset')
229
+ b.add('mapped', area, 'userFlowType passwordReset', 'Atlas\'s built-in password reset.', 'auth_config.strategies.password');
230
+ else if (type === 'profileUpdate')
231
+ b.add('mapped', area, 'userFlowType profileUpdate', 'Atlas\'s user profile component.', 'user profile');
232
+ for (const a of (0, record_set_1.objs)(f.userAttributeAssignments)) {
233
+ const attr = (0, record_set_1.str)(a.id) ?? (0, record_set_1.str)(a.displayName);
234
+ if (attr && /^extension_/i.test(attr))
235
+ b.add('differs', area, `userAttributeAssignments ${attr}`, 'A custom attribute collected at sign-up: collect it with an Atlas sign-up field (unsafe_metadata) or after sign-in; existing values move to public_metadata.', 'sign-up fields');
236
+ }
237
+ if ((0, record_set_1.isObj)(f.apiConnectorConfiguration) && Object.values(f.apiConnectorConfiguration).some((v) => v !== null)) {
238
+ b.add('manual', area, 'apiConnectorConfiguration', 'API connectors run during sign-up: port them to Atlas actions (pre_user_registration).', 'actions');
239
+ }
240
+ }
241
+ // ── External ID sign-up / sign-in flows ──
242
+ for (const f of snap.eventsFlows) {
243
+ const name = (0, record_set_1.str)(f.displayName) ?? (0, record_set_1.str)(f.id) ?? '?';
244
+ const area = `user flow ${name}`;
245
+ b.add('mapped', area, typeOf(f) || 'authenticationEventsFlow', 'Atlas\'s sign-in / sign-up pages (or components) replace this flow.', 'auth_config.strategies');
246
+ const start = (0, record_set_1.isObj)(f.onAuthenticationMethodLoadStart) ? f.onAuthenticationMethodLoadStart : {};
247
+ for (const idp of (0, record_set_1.objs)(start.identityProviders)) {
248
+ const id = (0, record_set_1.str)(idp.id) ?? '';
249
+ if (/EmailPassword/i.test(id)) {
250
+ b.set('strategies.password', true);
251
+ }
252
+ else if (/EmailOtp/i.test(id)) {
253
+ b.set('strategies.emailCode', true);
254
+ }
255
+ }
256
+ const collect = (0, record_set_1.isObj)(f.onAttributeCollection) ? f.onAttributeCollection : {};
257
+ for (const a of (0, record_set_1.objs)(collect.attributes)) {
258
+ const attr = (0, record_set_1.str)(a.id) ?? (0, record_set_1.str)(a.displayName);
259
+ if (!attr || ['email', 'displayName', 'givenName', 'surname'].includes(attr))
260
+ continue;
261
+ b.add('differs', area, `onAttributeCollection ${attr}`, 'Collected at sign-up: use an Atlas sign-up field (unsafe_metadata) or collect it after sign-in; existing values move to metadata.', 'sign-up fields');
262
+ }
263
+ if ((0, record_set_1.strs)((0, record_set_1.isObj)(f.conditions) && (0, record_set_1.isObj)(f.conditions.applications) ? (0, record_set_1.objs)(f.conditions.applications.includeApplications).map((x) => x.appId) : []).length > 1) {
264
+ b.add('differs', area, 'conditions.applications', 'One flow per set of apps: Atlas has one sign-in configuration per instance.', 'auth_config');
265
+ }
266
+ }
267
+ // ── custom user attributes ──
268
+ const custom = snap.userFlowAttributes.filter((a) => (0, record_set_1.str)(a.userFlowAttributeType) === 'custom');
269
+ if (custom.length)
270
+ b.add('differs', 'user attributes', 'userFlowAttributes (custom)', `${custom.length} custom attribute(s) (${custom.map((a) => (0, record_set_1.str)(a.displayName) ?? (0, record_set_1.str)(a.id)).join(', ')}) move to each user's public_metadata under their bare name; Atlas does not enforce their types.`, 'users public_metadata');
271
+ // ── app registrations → redirect URLs ──
272
+ const redirects = new Set();
273
+ let publicClient;
274
+ for (const app of snap.applications) {
275
+ const name = (0, record_set_1.str)(app.displayName) ?? '';
276
+ if (/^b2c-extensions-app/i.test(name))
277
+ continue;
278
+ const uris = [
279
+ ...(0, record_set_1.strs)((0, record_set_1.isObj)(app.web) ? app.web.redirectUris : undefined),
280
+ ...(0, record_set_1.strs)((0, record_set_1.isObj)(app.spa) ? app.spa.redirectUris : undefined),
281
+ ...(0, record_set_1.strs)((0, record_set_1.isObj)(app.publicClient) ? app.publicClient.redirectUris : undefined),
282
+ ].filter((u) => !/^(msal[0-9a-f-]+|ms-appx-web|urn:ietf):/i.test(u));
283
+ for (const u of uris)
284
+ redirects.add(u);
285
+ if (app.isFallbackPublicClient === true)
286
+ publicClient ??= (0, record_set_1.str)(app.appId);
287
+ }
288
+ for (const url of redirects) {
289
+ if (url.includes('*'))
290
+ b.add('differs', 'app registrations', `redirectUris ${url}`, 'Atlas redirect URLs are exact (no wildcards).', 'redirect_urls');
291
+ else
292
+ b.push('redirect_urls', { url });
293
+ }
294
+ if (redirects.size)
295
+ b.add('mapped', 'app registrations', 'web / spa / publicClient redirectUris', `${redirects.size} redirect URI(s).`, 'redirect_urls');
296
+ // ── groups → roles ──
297
+ for (const g of snap.groups) {
298
+ const name = (0, record_set_1.str)(g.displayName);
299
+ if (!name)
300
+ continue;
301
+ const key = (0, translate_kit_1.keyOf)(name);
302
+ b.roles[name] = key;
303
+ b.push('roles', { key, name, description: (0, record_set_1.str)(g.description) ?? '', permissions: [] });
304
+ }
305
+ if (snap.groups.length)
306
+ b.add('differs', 'groups', 'groups', `${snap.groups.length} group(s) become Atlas app roles (memberships move with the data export).`, 'roles');
307
+ // ── always manual ──
308
+ b.add('manual', 'tenant', 'company branding / page layouts', 'Recreate your branding with Atlas appearance settings (custom HTML page layouts do not translate).', 'appearance');
309
+ if (snap.kind === 'b2c')
310
+ b.add('manual', 'tenant', 'MFA, password complexity and session settings of user flows', 'Graph does not expose these user-flow properties: read them in the portal (user flow → Properties) and set the Atlas equivalents.', 'auth_config.mfaPolicy');
311
+ else
312
+ b.add('manual', 'tenant', 'conditional access / MFA policies', 'Conditional Access and the MFA authentication-methods policy are not translated: set the Atlas MFA policy by hand.', 'auth_config.mfaPolicy');
313
+ translatePolicies(b, snap.policies);
314
+ const tenantName = snap.tenantName ?? (/^[a-z0-9-]+\.onmicrosoft\.com$/i.test(snap.tenant) ? snap.tenant.split('.')[0].toLowerCase() : undefined);
315
+ const bridgeVars = {};
316
+ if (tenantName)
317
+ bridgeVars.tenant = tenantName;
318
+ if (snap.tenantId)
319
+ bridgeVars.tenant_id = snap.tenantId;
320
+ if (publicClient)
321
+ bridgeVars.client_id = publicClient;
322
+ const lazyConfig = {};
323
+ if (tenantName)
324
+ lazyConfig.tenant = tenantName;
325
+ if (publicClient)
326
+ lazyConfig.client_id = publicClient;
327
+ if (snap.kind === 'b2c') {
328
+ if (signInFlow)
329
+ bridgeVars.policy = signInFlow;
330
+ if (ropcFlow)
331
+ lazyConfig.policy = ropcFlow;
332
+ else
333
+ b.add('manual', 'user flows', 'resourceOwner user flow', 'Lazy migration needs a ROPC user flow (User flows → New → Sign in using resource owner password credentials) and a public client app registration allowed to use it.', 'legacy_auth_connection');
334
+ }
335
+ else {
336
+ b.add('manual', 'app registrations', 'native authentication', 'Lazy migration uses the native authentication API: on a public client app registration, turn on "Allow native authentication" and add it to the sign-up / sign-in flow.', 'legacy_auth_connection');
337
+ }
338
+ const preset = snap.kind === 'b2c' ? 'azure_ad_b2c' : 'entra_external_id';
339
+ return b.result(`${label} tenant ${tenantName ? `${tenantName}.onmicrosoft.com` : snap.tenant}`, {
340
+ bridge: { preset, vars: bridgeVars },
341
+ lazy: { preset, config: lazyConfig },
342
+ });
343
+ }
344
+ //# sourceMappingURL=azure-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azure-config.js","sourceRoot":"","sources":["../../../src/migrate/export/azure-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import type { IdentityRecord, MfaFactorRecord, UserRecord } from '@atlasauth/migrate';
2
+ import { RecordSet, type Obj } from './record-set';
3
+ import { VendorHttp } from './vendor-http';
4
+ /**
5
+ * `atlas migrate export azure-ad-b2c | entra-external-id` — an Azure AD B2C
6
+ * tenant or a Microsoft Entra External ID (external) tenant onto the
7
+ * canonical bundle models, through Microsoft Graph with an app registration
8
+ * the owner creates (client credentials, User.Read.All). The client secret is
9
+ * sent to Microsoft's token endpoint only, from this machine.
10
+ *
11
+ * - consumer users with their sign-in identities: `emailAddress` → email,
12
+ * `userName` → username, `phoneNumber` → phone, `federated` → a social
13
+ * or OIDC identity; `mail` / `otherMails` / `mobilePhone` as extra
14
+ * (unverified) addresses; `extension_<app>_<name>` custom attributes →
15
+ * public metadata; `accountEnabled: false` → banned. Users are keyed by
16
+ * their directory OBJECT ID — the `sub` of B2C tokens (default user
17
+ * flows) and the `oid` of External ID tokens, which is what the bridge
18
+ * presets match on;
19
+ * - with authentication methods: SMS / email second factors (phoneMethods,
20
+ * emailMethods), and a count of authenticator-app users (no secret);
21
+ * - groups as app roles.
22
+ *
23
+ * Microsoft never exports passwords (the password is write-only in Graph),
24
+ * TOTP secrets or FIDO2 keys. Passwords move by lazy migration: a ROPC user
25
+ * flow on B2C, the native authentication API on External ID.
26
+ */
27
+ export type AzureKind = 'b2c' | 'entra';
28
+ export interface AzureExportOptions {
29
+ kind: AzureKind;
30
+ /** Tenant id (GUID) or domain (`contoso.onmicrosoft.com`). */
31
+ tenant: string;
32
+ clientId?: string;
33
+ clientSecret?: string;
34
+ /** A Graph access token instead of client credentials. */
35
+ accessToken?: string;
36
+ /** Read each user's phone / email / software OATH methods (three calls per user). */
37
+ authMethods?: boolean;
38
+ groups?: 'roles' | 'skip';
39
+ /** Also export directory (admin / work) accounts that only sign in with a userPrincipalName. */
40
+ includeDirectoryUsers?: boolean;
41
+ fetchImpl?: typeof fetch;
42
+ sleep?: (ms: number) => Promise<void>;
43
+ onProgress?: (message: string) => void;
44
+ }
45
+ export declare const GRAPH = "https://graph.microsoft.com/v1.0";
46
+ /** The client-credentials token for Microsoft Graph (sent to login.microsoftonline.com only). */
47
+ export declare function graphToken(tenant: string, clientId: string, clientSecret: string, fetchImpl?: typeof fetch): Promise<string>;
48
+ /** Graph over {@link VendorHttp}: a bearer from a token or client credentials, fetched once. */
49
+ export declare function graphHttp(o: {
50
+ tenant: string;
51
+ clientId?: string;
52
+ clientSecret?: string;
53
+ accessToken?: string;
54
+ fetchImpl?: typeof fetch;
55
+ sleep?: (ms: number) => Promise<void>;
56
+ }): VendorHttp;
57
+ /** Every page of a Graph collection (`@odata.nextLink`). */
58
+ export declare function graphAll(http: VendorHttp, path: string): Promise<Obj[]>;
59
+ /** The provider name for a federated identity's issuer (a social key, or the issuer itself for an OIDC / enterprise IdP). */
60
+ export declare function providerOfIssuer(issuer: string): {
61
+ provider: string;
62
+ kind: IdentityRecord['kind'];
63
+ };
64
+ /** The extension attributes on a user (`extension_<appId>_<name>`) by bare name. */
65
+ export declare function extensionAttributes(u: Obj): Obj;
66
+ /** True for directory (admin / work) accounts: no consumer sign-in identity, only a userPrincipalName. */
67
+ export declare function isDirectoryUser(u: Obj): boolean;
68
+ /** Map one Graph user onto a user record and its federated identities. */
69
+ export declare function mapAzureUser(u: Obj): {
70
+ user: UserRecord;
71
+ identities: IdentityRecord[];
72
+ skippedIdentities: number;
73
+ } | null;
74
+ /** Second factors from a user's authentication methods. */
75
+ export declare function azureFactors(userId: string, phoneMethods: Obj[], emailMethods: Obj[]): MfaFactorRecord[];
76
+ export interface AzureTenantInfo {
77
+ tenantId?: string;
78
+ /** `contoso` of contoso.onmicrosoft.com. */
79
+ tenantName?: string;
80
+ }
81
+ /** Tenant id and initial domain (needs Organization.Read.All or Directory.Read.All; empty when not granted). */
82
+ export declare function azureTenantInfo(http: VendorHttp): Promise<AzureTenantInfo>;
83
+ /** The extension attribute names registered for users (`extension_<app>_<name>`), for `$select`. */
84
+ export declare function userExtensionNames(http: VendorHttp): Promise<string[]>;
85
+ export declare function exportAzure(opts: AzureExportOptions): Promise<RecordSet>;