@atlasauth/cli 0.25.0 → 0.26.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.
- package/CHANGELOG.md +37 -0
- package/README.md +26 -5
- package/dist/args.d.ts +631 -0
- package/dist/args.js +304 -0
- package/dist/args.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +19 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/actions-gallery.d.ts +8 -0
- package/dist/commands/actions-gallery.js +197 -0
- package/dist/commands/actions-gallery.js.map +1 -0
- package/dist/commands/actions.d.ts +13 -0
- package/dist/commands/actions.js +135 -0
- package/dist/commands/actions.js.map +1 -0
- package/dist/commands/admin.d.ts +49 -0
- package/dist/commands/admin.js +353 -0
- package/dist/commands/admin.js.map +1 -0
- package/dist/commands/api-keys.d.ts +4 -0
- package/dist/commands/api-keys.js +96 -0
- package/dist/commands/api-keys.js.map +1 -0
- package/dist/commands/auth.d.ts +25 -0
- package/dist/commands/auth.js +102 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/config.d.ts +128 -0
- package/dist/commands/config.js +1822 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/csp.d.ts +32 -0
- package/dist/commands/csp.js +180 -0
- package/dist/commands/csp.js.map +1 -0
- package/dist/commands/dev.d.ts +8 -0
- package/dist/commands/dev.js +84 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/doctor-scan.d.ts +27 -0
- package/dist/commands/doctor-scan.js +221 -0
- package/dist/commands/doctor-scan.js.map +1 -0
- package/dist/commands/fga.d.ts +10 -0
- package/dist/commands/fga.js +146 -0
- package/dist/commands/fga.js.map +1 -0
- package/dist/commands/golive.d.ts +40 -0
- package/dist/commands/golive.js +297 -0
- package/dist/commands/golive.js.map +1 -0
- package/dist/commands/id-accounts.d.ts +13 -0
- package/dist/commands/id-accounts.js +195 -0
- package/dist/commands/id-accounts.js.map +1 -0
- package/dist/commands/import-better-auth.d.ts +3 -0
- package/dist/commands/import-better-auth.js +164 -0
- package/dist/commands/import-better-auth.js.map +1 -0
- package/dist/commands/import-jsonl.d.ts +50 -0
- package/dist/commands/import-jsonl.js +252 -0
- package/dist/commands/import-jsonl.js.map +1 -0
- package/dist/commands/import.d.ts +3 -0
- package/dist/commands/import.js +133 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/info.d.ts +75 -0
- package/dist/commands/info.js +362 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init-next.d.ts +4 -0
- package/dist/commands/init-next.js +86 -0
- package/dist/commands/init-next.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.js +525 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/integrations.d.ts +8 -0
- package/dist/commands/integrations.js +112 -0
- package/dist/commands/integrations.js.map +1 -0
- package/dist/commands/listen.d.ts +17 -0
- package/dist/commands/listen.js +223 -0
- package/dist/commands/listen.js.map +1 -0
- package/dist/commands/mcp.d.ts +38 -0
- package/dist/commands/mcp.js +111 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/migrate.d.ts +16 -0
- package/dist/commands/migrate.js +114 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/move-origin.d.ts +11 -0
- package/dist/commands/move-origin.js +95 -0
- package/dist/commands/move-origin.js.map +1 -0
- package/dist/commands/operator.d.ts +18 -0
- package/dist/commands/operator.js +238 -0
- package/dist/commands/operator.js.map +1 -0
- package/dist/commands/orgs.d.ts +4 -0
- package/dist/commands/orgs.js +72 -0
- package/dist/commands/orgs.js.map +1 -0
- package/dist/commands/pages.d.ts +14 -0
- package/dist/commands/pages.js +113 -0
- package/dist/commands/pages.js.map +1 -0
- package/dist/commands/partner-platforms.d.ts +10 -0
- package/dist/commands/partner-platforms.js +157 -0
- package/dist/commands/partner-platforms.js.map +1 -0
- package/dist/commands/project-commands.d.ts +38 -0
- package/dist/commands/project-commands.js +431 -0
- package/dist/commands/project-commands.js.map +1 -0
- package/dist/commands/referrals.d.ts +69 -0
- package/dist/commands/referrals.js +1056 -0
- package/dist/commands/referrals.js.map +1 -0
- package/dist/commands/resources.d.ts +44 -0
- package/dist/commands/resources.js +234 -0
- package/dist/commands/resources.js.map +1 -0
- package/dist/commands/sessions.d.ts +4 -0
- package/dist/commands/sessions.js +28 -0
- package/dist/commands/sessions.js.map +1 -0
- package/dist/commands/setup-guide.d.ts +3 -0
- package/dist/commands/setup-guide.js +38 -0
- package/dist/commands/setup-guide.js.map +1 -0
- package/dist/commands/shared.d.ts +38 -0
- package/dist/commands/shared.js +69 -0
- package/dist/commands/shared.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.js +77 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/users.d.ts +4 -0
- package/dist/commands/users.js +111 -0
- package/dist/commands/users.js.map +1 -0
- package/dist/commands/webhooks.d.ts +34 -0
- package/dist/commands/webhooks.js +301 -0
- package/dist/commands/webhooks.js.map +1 -0
- package/dist/config-http.d.ts +38 -0
- package/dist/config-http.js +70 -0
- package/dist/config-http.js.map +1 -0
- package/dist/config.d.ts +64 -0
- package/dist/config.js +69 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +89 -0
- package/dist/context.js +32 -0
- package/dist/context.js.map +1 -0
- package/dist/define-config.d.ts +9 -0
- package/dist/define-config.js +8 -0
- package/dist/define-config.js.map +1 -0
- package/dist/errors.d.ts +15 -0
- package/dist/errors.js +25 -0
- package/dist/errors.js.map +1 -0
- package/dist/help.d.ts +8 -0
- package/dist/help.js +926 -0
- package/dist/help.js.map +1 -0
- package/dist/import/csv.d.ts +6 -0
- package/dist/import/csv.js +63 -0
- package/dist/import/csv.js.map +1 -0
- package/dist/import/vendors.d.ts +57 -0
- package/dist/import/vendors.js +568 -0
- package/dist/import/vendors.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/io.d.ts +21 -0
- package/dist/io.js +28 -0
- package/dist/io.js.map +1 -0
- package/dist/migrate/appwrite/plugin.d.ts +2 -0
- package/dist/migrate/appwrite/plugin.js +103 -0
- package/dist/migrate/appwrite/plugin.js.map +1 -0
- package/dist/migrate/auth0/plugin.d.ts +2 -0
- package/dist/migrate/auth0/plugin.js +126 -0
- package/dist/migrate/auth0/plugin.js.map +1 -0
- package/dist/migrate/authentik/plugin.d.ts +2 -0
- package/dist/migrate/authentik/plugin.js +135 -0
- package/dist/migrate/authentik/plugin.js.map +1 -0
- package/dist/migrate/azure-ad-b2c/plugin.d.ts +8 -0
- package/dist/migrate/azure-ad-b2c/plugin.js +165 -0
- package/dist/migrate/azure-ad-b2c/plugin.js.map +1 -0
- package/dist/migrate/better-auth/integration.d.ts +59 -0
- package/dist/migrate/better-auth/integration.js +81 -0
- package/dist/migrate/better-auth/integration.js.map +1 -0
- package/dist/migrate/better-auth/orchestrator.d.ts +43 -0
- package/dist/migrate/better-auth/orchestrator.js +525 -0
- package/dist/migrate/better-auth/orchestrator.js.map +1 -0
- package/dist/migrate/better-auth/output.d.ts +20 -0
- package/dist/migrate/better-auth/output.js +146 -0
- package/dist/migrate/better-auth/output.js.map +1 -0
- package/dist/migrate/better-auth/translate.d.ts +77 -0
- package/dist/migrate/better-auth/translate.js +1989 -0
- package/dist/migrate/better-auth/translate.js.map +1 -0
- package/dist/migrate/clerk/plugin.d.ts +2 -0
- package/dist/migrate/clerk/plugin.js +76 -0
- package/dist/migrate/clerk/plugin.js.map +1 -0
- package/dist/migrate/cognito/plugin.d.ts +5 -0
- package/dist/migrate/cognito/plugin.js +170 -0
- package/dist/migrate/cognito/plugin.js.map +1 -0
- package/dist/migrate/corbado/plugin.d.ts +2 -0
- package/dist/migrate/corbado/plugin.js +63 -0
- package/dist/migrate/corbado/plugin.js.map +1 -0
- package/dist/migrate/descope/plugin.d.ts +2 -0
- package/dist/migrate/descope/plugin.js +83 -0
- package/dist/migrate/descope/plugin.js.map +1 -0
- package/dist/migrate/entra-external-id/plugin.d.ts +8 -0
- package/dist/migrate/entra-external-id/plugin.js +12 -0
- package/dist/migrate/entra-external-id/plugin.js.map +1 -0
- package/dist/migrate/export/appwrite-config.d.ts +28 -0
- package/dist/migrate/export/appwrite-config.js +170 -0
- package/dist/migrate/export/appwrite-config.js.map +1 -0
- package/dist/migrate/export/appwrite.d.ts +51 -0
- package/dist/migrate/export/appwrite.js +288 -0
- package/dist/migrate/export/appwrite.js.map +1 -0
- package/dist/migrate/export/auth0-config.d.ts +29 -0
- package/dist/migrate/export/auth0-config.js +249 -0
- package/dist/migrate/export/auth0-config.js.map +1 -0
- package/dist/migrate/export/auth0.d.ts +62 -0
- package/dist/migrate/export/auth0.js +575 -0
- package/dist/migrate/export/auth0.js.map +1 -0
- package/dist/migrate/export/authentik-config.d.ts +45 -0
- package/dist/migrate/export/authentik-config.js +357 -0
- package/dist/migrate/export/authentik-config.js.map +1 -0
- package/dist/migrate/export/authentik.d.ts +110 -0
- package/dist/migrate/export/authentik.js +838 -0
- package/dist/migrate/export/authentik.js.map +1 -0
- package/dist/migrate/export/azure-config.d.ts +58 -0
- package/dist/migrate/export/azure-config.js +344 -0
- package/dist/migrate/export/azure-config.js.map +1 -0
- package/dist/migrate/export/azure.d.ts +85 -0
- package/dist/migrate/export/azure.js +373 -0
- package/dist/migrate/export/azure.js.map +1 -0
- package/dist/migrate/export/clerk-config.d.ts +26 -0
- package/dist/migrate/export/clerk-config.js +227 -0
- package/dist/migrate/export/clerk-config.js.map +1 -0
- package/dist/migrate/export/clerk.d.ts +46 -0
- package/dist/migrate/export/clerk.js +486 -0
- package/dist/migrate/export/clerk.js.map +1 -0
- package/dist/migrate/export/cognito-config.d.ts +25 -0
- package/dist/migrate/export/cognito-config.js +273 -0
- package/dist/migrate/export/cognito-config.js.map +1 -0
- package/dist/migrate/export/cognito.d.ts +103 -0
- package/dist/migrate/export/cognito.js +441 -0
- package/dist/migrate/export/cognito.js.map +1 -0
- package/dist/migrate/export/corbado-config.d.ts +20 -0
- package/dist/migrate/export/corbado-config.js +63 -0
- package/dist/migrate/export/corbado-config.js.map +1 -0
- package/dist/migrate/export/corbado.d.ts +37 -0
- package/dist/migrate/export/corbado.js +132 -0
- package/dist/migrate/export/corbado.js.map +1 -0
- package/dist/migrate/export/descope.d.ts +35 -0
- package/dist/migrate/export/descope.js +208 -0
- package/dist/migrate/export/descope.js.map +1 -0
- package/dist/migrate/export/fake-vendor.test-helper.d.ts +27 -0
- package/dist/migrate/export/fake-vendor.test-helper.js +41 -0
- package/dist/migrate/export/fake-vendor.test-helper.js.map +1 -0
- package/dist/migrate/export/firebase-config.d.ts +24 -0
- package/dist/migrate/export/firebase-config.js +215 -0
- package/dist/migrate/export/firebase-config.js.map +1 -0
- package/dist/migrate/export/firebase.d.ts +102 -0
- package/dist/migrate/export/firebase.js +464 -0
- package/dist/migrate/export/firebase.js.map +1 -0
- package/dist/migrate/export/frameworks/app-users.d.ts +42 -0
- package/dist/migrate/export/frameworks/app-users.js +161 -0
- package/dist/migrate/export/frameworks/app-users.js.map +1 -0
- package/dist/migrate/export/frameworks/authjs.d.ts +41 -0
- package/dist/migrate/export/frameworks/authjs.js +146 -0
- package/dist/migrate/export/frameworks/authjs.js.map +1 -0
- package/dist/migrate/export/frameworks/devise.d.ts +39 -0
- package/dist/migrate/export/frameworks/devise.js +218 -0
- package/dist/migrate/export/frameworks/devise.js.map +1 -0
- package/dist/migrate/export/frameworks/django.d.ts +45 -0
- package/dist/migrate/export/frameworks/django.js +315 -0
- package/dist/migrate/export/frameworks/django.js.map +1 -0
- package/dist/migrate/export/frameworks/lucia.d.ts +42 -0
- package/dist/migrate/export/frameworks/lucia.js +263 -0
- package/dist/migrate/export/frameworks/lucia.js.map +1 -0
- package/dist/migrate/export/frameworks/tables.d.ts +90 -0
- package/dist/migrate/export/frameworks/tables.js +325 -0
- package/dist/migrate/export/frameworks/tables.js.map +1 -0
- package/dist/migrate/export/frameworks/webauthn.d.ts +25 -0
- package/dist/migrate/export/frameworks/webauthn.js +130 -0
- package/dist/migrate/export/frameworks/webauthn.js.map +1 -0
- package/dist/migrate/export/frontegg-config.d.ts +29 -0
- package/dist/migrate/export/frontegg-config.js +238 -0
- package/dist/migrate/export/frontegg-config.js.map +1 -0
- package/dist/migrate/export/frontegg.d.ts +67 -0
- package/dist/migrate/export/frontegg.js +410 -0
- package/dist/migrate/export/frontegg.js.map +1 -0
- package/dist/migrate/export/fusionauth-config.d.ts +26 -0
- package/dist/migrate/export/fusionauth-config.js +226 -0
- package/dist/migrate/export/fusionauth-config.js.map +1 -0
- package/dist/migrate/export/fusionauth.d.ts +99 -0
- package/dist/migrate/export/fusionauth.js +642 -0
- package/dist/migrate/export/fusionauth.js.map +1 -0
- package/dist/migrate/export/hanko-config.d.ts +27 -0
- package/dist/migrate/export/hanko-config.js +265 -0
- package/dist/migrate/export/hanko-config.js.map +1 -0
- package/dist/migrate/export/hanko.d.ts +52 -0
- package/dist/migrate/export/hanko.js +605 -0
- package/dist/migrate/export/hanko.js.map +1 -0
- package/dist/migrate/export/keycloak-config.d.ts +19 -0
- package/dist/migrate/export/keycloak-config.js +219 -0
- package/dist/migrate/export/keycloak-config.js.map +1 -0
- package/dist/migrate/export/keycloak.d.ts +155 -0
- package/dist/migrate/export/keycloak.js +878 -0
- package/dist/migrate/export/keycloak.js.map +1 -0
- package/dist/migrate/export/kinde-descope-config.d.ts +38 -0
- package/dist/migrate/export/kinde-descope-config.js +172 -0
- package/dist/migrate/export/kinde-descope-config.js.map +1 -0
- package/dist/migrate/export/kinde.d.ts +57 -0
- package/dist/migrate/export/kinde.js +333 -0
- package/dist/migrate/export/kinde.js.map +1 -0
- package/dist/migrate/export/ldap.d.ts +53 -0
- package/dist/migrate/export/ldap.js +277 -0
- package/dist/migrate/export/ldap.js.map +1 -0
- package/dist/migrate/export/logto-config.d.ts +27 -0
- package/dist/migrate/export/logto-config.js +264 -0
- package/dist/migrate/export/logto-config.js.map +1 -0
- package/dist/migrate/export/logto.d.ts +150 -0
- package/dist/migrate/export/logto.js +809 -0
- package/dist/migrate/export/logto.js.map +1 -0
- package/dist/migrate/export/magic-config.d.ts +14 -0
- package/dist/migrate/export/magic-config.js +28 -0
- package/dist/migrate/export/magic-config.js.map +1 -0
- package/dist/migrate/export/magic.d.ts +31 -0
- package/dist/migrate/export/magic.js +93 -0
- package/dist/migrate/export/magic.js.map +1 -0
- package/dist/migrate/export/mini-yaml.d.ts +19 -0
- package/dist/migrate/export/mini-yaml.js +581 -0
- package/dist/migrate/export/mini-yaml.js.map +1 -0
- package/dist/migrate/export/nhost-config.d.ts +26 -0
- package/dist/migrate/export/nhost-config.js +360 -0
- package/dist/migrate/export/nhost-config.js.map +1 -0
- package/dist/migrate/export/nhost.d.ts +64 -0
- package/dist/migrate/export/nhost.js +304 -0
- package/dist/migrate/export/nhost.js.map +1 -0
- package/dist/migrate/export/okta-config.d.ts +30 -0
- package/dist/migrate/export/okta-config.js +205 -0
- package/dist/migrate/export/okta-config.js.map +1 -0
- package/dist/migrate/export/okta.d.ts +43 -0
- package/dist/migrate/export/okta.js +337 -0
- package/dist/migrate/export/okta.js.map +1 -0
- package/dist/migrate/export/onelogin.d.ts +22 -0
- package/dist/migrate/export/onelogin.js +123 -0
- package/dist/migrate/export/onelogin.js.map +1 -0
- package/dist/migrate/export/ory-config.d.ts +58 -0
- package/dist/migrate/export/ory-config.js +451 -0
- package/dist/migrate/export/ory-config.js.map +1 -0
- package/dist/migrate/export/ory.d.ts +81 -0
- package/dist/migrate/export/ory.js +555 -0
- package/dist/migrate/export/ory.js.map +1 -0
- package/dist/migrate/export/password-detect.d.ts +29 -0
- package/dist/migrate/export/password-detect.js +81 -0
- package/dist/migrate/export/password-detect.js.map +1 -0
- package/dist/migrate/export/pingone.d.ts +36 -0
- package/dist/migrate/export/pingone.js +218 -0
- package/dist/migrate/export/pingone.js.map +1 -0
- package/dist/migrate/export/plugin-kit.d.ts +25 -0
- package/dist/migrate/export/plugin-kit.js +82 -0
- package/dist/migrate/export/plugin-kit.js.map +1 -0
- package/dist/migrate/export/pocketbase-config.d.ts +28 -0
- package/dist/migrate/export/pocketbase-config.js +180 -0
- package/dist/migrate/export/pocketbase-config.js.map +1 -0
- package/dist/migrate/export/pocketbase.d.ts +52 -0
- package/dist/migrate/export/pocketbase.js +243 -0
- package/dist/migrate/export/pocketbase.js.map +1 -0
- package/dist/migrate/export/project-files.d.ts +15 -0
- package/dist/migrate/export/project-files.js +43 -0
- package/dist/migrate/export/project-files.js.map +1 -0
- package/dist/migrate/export/propelauth-config.d.ts +18 -0
- package/dist/migrate/export/propelauth-config.js +58 -0
- package/dist/migrate/export/propelauth-config.js.map +1 -0
- package/dist/migrate/export/propelauth-harness.test-helper.d.ts +62 -0
- package/dist/migrate/export/propelauth-harness.test-helper.js +109 -0
- package/dist/migrate/export/propelauth-harness.test-helper.js.map +1 -0
- package/dist/migrate/export/propelauth.d.ts +48 -0
- package/dist/migrate/export/propelauth.js +255 -0
- package/dist/migrate/export/propelauth.js.map +1 -0
- package/dist/migrate/export/record-set.d.ts +44 -0
- package/dist/migrate/export/record-set.js +98 -0
- package/dist/migrate/export/record-set.js.map +1 -0
- package/dist/migrate/export/source-lines.d.ts +17 -0
- package/dist/migrate/export/source-lines.js +43 -0
- package/dist/migrate/export/source-lines.js.map +1 -0
- package/dist/migrate/export/sso-metadata.d.ts +47 -0
- package/dist/migrate/export/sso-metadata.js +180 -0
- package/dist/migrate/export/sso-metadata.js.map +1 -0
- package/dist/migrate/export/stytch-config.d.ts +22 -0
- package/dist/migrate/export/stytch-config.js +102 -0
- package/dist/migrate/export/stytch-config.js.map +1 -0
- package/dist/migrate/export/stytch.d.ts +68 -0
- package/dist/migrate/export/stytch.js +510 -0
- package/dist/migrate/export/stytch.js.map +1 -0
- package/dist/migrate/export/supabase-config.d.ts +48 -0
- package/dist/migrate/export/supabase-config.js +408 -0
- package/dist/migrate/export/supabase-config.js.map +1 -0
- package/dist/migrate/export/supabase.d.ts +86 -0
- package/dist/migrate/export/supabase.js +524 -0
- package/dist/migrate/export/supabase.js.map +1 -0
- package/dist/migrate/export/supertokens-config.d.ts +20 -0
- package/dist/migrate/export/supertokens-config.js +150 -0
- package/dist/migrate/export/supertokens-config.js.map +1 -0
- package/dist/migrate/export/supertokens.d.ts +125 -0
- package/dist/migrate/export/supertokens.js +464 -0
- package/dist/migrate/export/supertokens.js.map +1 -0
- package/dist/migrate/export/table.d.ts +35 -0
- package/dist/migrate/export/table.js +248 -0
- package/dist/migrate/export/table.js.map +1 -0
- package/dist/migrate/export/translate-kit.d.ts +46 -0
- package/dist/migrate/export/translate-kit.js +148 -0
- package/dist/migrate/export/translate-kit.js.map +1 -0
- package/dist/migrate/export/userfront-config.d.ts +15 -0
- package/dist/migrate/export/userfront-config.js +49 -0
- package/dist/migrate/export/userfront-config.js.map +1 -0
- package/dist/migrate/export/userfront.d.ts +38 -0
- package/dist/migrate/export/userfront.js +189 -0
- package/dist/migrate/export/userfront.js.map +1 -0
- package/dist/migrate/export/vendor-http.d.ts +46 -0
- package/dist/migrate/export/vendor-http.js +138 -0
- package/dist/migrate/export/vendor-http.js.map +1 -0
- package/dist/migrate/export/workos-config.d.ts +23 -0
- package/dist/migrate/export/workos-config.js +125 -0
- package/dist/migrate/export/workos-config.js.map +1 -0
- package/dist/migrate/export/workos.d.ts +46 -0
- package/dist/migrate/export/workos.js +272 -0
- package/dist/migrate/export/workos.js.map +1 -0
- package/dist/migrate/export/zip.d.ts +8 -0
- package/dist/migrate/export/zip.js +66 -0
- package/dist/migrate/export/zip.js.map +1 -0
- package/dist/migrate/export/zitadel-config.d.ts +37 -0
- package/dist/migrate/export/zitadel-config.js +279 -0
- package/dist/migrate/export/zitadel-config.js.map +1 -0
- package/dist/migrate/export/zitadel.d.ts +82 -0
- package/dist/migrate/export/zitadel.js +447 -0
- package/dist/migrate/export/zitadel.js.map +1 -0
- package/dist/migrate/firebase/plugin.d.ts +2 -0
- package/dist/migrate/firebase/plugin.js +152 -0
- package/dist/migrate/firebase/plugin.js.map +1 -0
- package/dist/migrate/framework/builtins.d.ts +2 -0
- package/dist/migrate/framework/builtins.js +52 -0
- package/dist/migrate/framework/builtins.js.map +1 -0
- package/dist/migrate/framework/commands.d.ts +20 -0
- package/dist/migrate/framework/commands.js +58 -0
- package/dist/migrate/framework/commands.js.map +1 -0
- package/dist/migrate/framework/custom.d.ts +12 -0
- package/dist/migrate/framework/custom.js +96 -0
- package/dist/migrate/framework/custom.js.map +1 -0
- package/dist/migrate/framework/orchestrator.d.ts +113 -0
- package/dist/migrate/framework/orchestrator.js +532 -0
- package/dist/migrate/framework/orchestrator.js.map +1 -0
- package/dist/migrate/framework/plugin.d.ts +167 -0
- package/dist/migrate/framework/plugin.js +3 -0
- package/dist/migrate/framework/plugin.js.map +1 -0
- package/dist/migrate/framework/registry.d.ts +11 -0
- package/dist/migrate/framework/registry.js +44 -0
- package/dist/migrate/framework/registry.js.map +1 -0
- package/dist/migrate/framework/report.d.ts +17 -0
- package/dist/migrate/framework/report.js +103 -0
- package/dist/migrate/framework/report.js.map +1 -0
- package/dist/migrate/frameworks/plugins.d.ts +29 -0
- package/dist/migrate/frameworks/plugins.js +402 -0
- package/dist/migrate/frameworks/plugins.js.map +1 -0
- package/dist/migrate/frameworks/report.d.ts +92 -0
- package/dist/migrate/frameworks/report.js +207 -0
- package/dist/migrate/frameworks/report.js.map +1 -0
- package/dist/migrate/frameworks/translate-js.d.ts +5 -0
- package/dist/migrate/frameworks/translate-js.js +503 -0
- package/dist/migrate/frameworks/translate-js.js.map +1 -0
- package/dist/migrate/frameworks/translate-rails-django.d.ts +3 -0
- package/dist/migrate/frameworks/translate-rails-django.js +1391 -0
- package/dist/migrate/frameworks/translate-rails-django.js.map +1 -0
- package/dist/migrate/frontegg/plugin.d.ts +2 -0
- package/dist/migrate/frontegg/plugin.js +78 -0
- package/dist/migrate/frontegg/plugin.js.map +1 -0
- package/dist/migrate/fusionauth/plugin.d.ts +2 -0
- package/dist/migrate/fusionauth/plugin.js +109 -0
- package/dist/migrate/fusionauth/plugin.js.map +1 -0
- package/dist/migrate/hanko/plugin.d.ts +2 -0
- package/dist/migrate/hanko/plugin.js +100 -0
- package/dist/migrate/hanko/plugin.js.map +1 -0
- package/dist/migrate/keycloak/plugin.d.ts +2 -0
- package/dist/migrate/keycloak/plugin.js +148 -0
- package/dist/migrate/keycloak/plugin.js.map +1 -0
- package/dist/migrate/kinde/plugin.d.ts +2 -0
- package/dist/migrate/kinde/plugin.js +105 -0
- package/dist/migrate/kinde/plugin.js.map +1 -0
- package/dist/migrate/ldap/plugin.d.ts +2 -0
- package/dist/migrate/ldap/plugin.js +73 -0
- package/dist/migrate/ldap/plugin.js.map +1 -0
- package/dist/migrate/logto/plugin.d.ts +2 -0
- package/dist/migrate/logto/plugin.js +131 -0
- package/dist/migrate/logto/plugin.js.map +1 -0
- package/dist/migrate/magic/plugin.d.ts +2 -0
- package/dist/migrate/magic/plugin.js +56 -0
- package/dist/migrate/magic/plugin.js.map +1 -0
- package/dist/migrate/nhost/plugin.d.ts +2 -0
- package/dist/migrate/nhost/plugin.js +115 -0
- package/dist/migrate/nhost/plugin.js.map +1 -0
- package/dist/migrate/oidc/plugin.d.ts +2 -0
- package/dist/migrate/oidc/plugin.js +73 -0
- package/dist/migrate/oidc/plugin.js.map +1 -0
- package/dist/migrate/okta/plugin.d.ts +2 -0
- package/dist/migrate/okta/plugin.js +105 -0
- package/dist/migrate/okta/plugin.js.map +1 -0
- package/dist/migrate/onelogin/plugin.d.ts +2 -0
- package/dist/migrate/onelogin/plugin.js +61 -0
- package/dist/migrate/onelogin/plugin.js.map +1 -0
- package/dist/migrate/ory/plugin.d.ts +2 -0
- package/dist/migrate/ory/plugin.js +186 -0
- package/dist/migrate/ory/plugin.js.map +1 -0
- package/dist/migrate/ping-identity/plugin.d.ts +2 -0
- package/dist/migrate/ping-identity/plugin.js +100 -0
- package/dist/migrate/ping-identity/plugin.js.map +1 -0
- package/dist/migrate/pocketbase/plugin.d.ts +2 -0
- package/dist/migrate/pocketbase/plugin.js +99 -0
- package/dist/migrate/pocketbase/plugin.js.map +1 -0
- package/dist/migrate/propelauth/plugin.d.ts +2 -0
- package/dist/migrate/propelauth/plugin.js +65 -0
- package/dist/migrate/propelauth/plugin.js.map +1 -0
- package/dist/migrate/saml/plugin.d.ts +2 -0
- package/dist/migrate/saml/plugin.js +79 -0
- package/dist/migrate/saml/plugin.js.map +1 -0
- package/dist/migrate/stytch/plugin.d.ts +2 -0
- package/dist/migrate/stytch/plugin.js +97 -0
- package/dist/migrate/stytch/plugin.js.map +1 -0
- package/dist/migrate/supabase/plugin.d.ts +2 -0
- package/dist/migrate/supabase/plugin.js +149 -0
- package/dist/migrate/supabase/plugin.js.map +1 -0
- package/dist/migrate/supertokens/plugin.d.ts +2 -0
- package/dist/migrate/supertokens/plugin.js +114 -0
- package/dist/migrate/supertokens/plugin.js.map +1 -0
- package/dist/migrate/user-table/plugin.d.ts +2 -0
- package/dist/migrate/user-table/plugin.js +62 -0
- package/dist/migrate/user-table/plugin.js.map +1 -0
- package/dist/migrate/userfront/plugin.d.ts +2 -0
- package/dist/migrate/userfront/plugin.js +60 -0
- package/dist/migrate/userfront/plugin.js.map +1 -0
- package/dist/migrate/workos/plugin.d.ts +2 -0
- package/dist/migrate/workos/plugin.js +81 -0
- package/dist/migrate/workos/plugin.js.map +1 -0
- package/dist/migrate/zitadel/plugin.d.ts +2 -0
- package/dist/migrate/zitadel/plugin.js +114 -0
- package/dist/migrate/zitadel/plugin.js.map +1 -0
- package/dist/output.d.ts +41 -0
- package/dist/output.js +72 -0
- package/dist/output.js.map +1 -0
- package/dist/project.d.ts +64 -0
- package/dist/project.js +86 -0
- package/dist/project.js.map +1 -0
- package/dist/prompt.d.ts +15 -0
- package/dist/prompt.js +46 -0
- package/dist/prompt.js.map +1 -0
- package/dist/redact.d.ts +41 -0
- package/dist/redact.js +115 -0
- package/dist/redact.js.map +1 -0
- package/dist/run.d.ts +12 -0
- package/dist/run.js +169 -0
- package/dist/run.js.map +1 -0
- package/dist/secrets.d.ts +41 -0
- package/dist/secrets.js +142 -0
- package/dist/secrets.js.map +1 -0
- package/dist/serialize.d.ts +30 -0
- package/dist/serialize.js +131 -0
- package/dist/serialize.js.map +1 -0
- package/dist/version.d.ts +7 -0
- package/dist/version.js +21 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -3
|
@@ -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(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, "'").replace(/&/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>;
|