@atlasauth/cli 0.25.0 → 0.25.1
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 +6 -0
- package/dist/args.d.ts +601 -0
- package/dist/args.js +289 -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 +104 -0
- package/dist/commands/config.js +1532 -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/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 +285 -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.d.ts +3 -0
- package/dist/commands/import.js +123 -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.d.ts +3 -0
- package/dist/commands/init.js +438 -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 +361 -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/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 +100 -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 +29 -0
- package/dist/config-http.js +64 -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 +72 -0
- package/dist/context.js +27 -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 +868 -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/run.d.ts +12 -0
- package/dist/run.js +157 -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,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchFusionAuthConfig = fetchFusionAuthConfig;
|
|
4
|
+
exports.translateFusionAuthConfig = translateFusionAuthConfig;
|
|
5
|
+
const record_set_1 = require("./record-set");
|
|
6
|
+
const translate_kit_1 = require("./translate-kit");
|
|
7
|
+
const vendor_http_1 = require("./vendor-http");
|
|
8
|
+
async function fetchFusionAuthConfig(http, baseUrl, warn = () => undefined) {
|
|
9
|
+
const list = async (path, key, what) => {
|
|
10
|
+
try {
|
|
11
|
+
const { body } = await http.get(path);
|
|
12
|
+
return (0, record_set_1.isObj)(body) ? (0, record_set_1.objs)(body[key]) : [];
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
if (!(err instanceof vendor_http_1.VendorApiError) || ![401, 403, 404].includes(err.status))
|
|
16
|
+
throw err;
|
|
17
|
+
if (err.status !== 404)
|
|
18
|
+
warn(`${what} could not be read with this API key (${err.status}) and were skipped.`);
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
return {
|
|
23
|
+
baseUrl,
|
|
24
|
+
tenants: await list('/api/tenant', 'tenants', 'Tenants'),
|
|
25
|
+
applications: await list('/api/application', 'applications', 'Applications'),
|
|
26
|
+
identityProviders: await list('/api/identity-provider', 'identityProviders', 'Identity providers'),
|
|
27
|
+
lambdas: await list('/api/lambda', 'lambdas', 'Lambdas'),
|
|
28
|
+
webhooks: await list('/api/webhook', 'webhooks', 'Webhooks'),
|
|
29
|
+
themes: await list('/api/theme', 'themes', 'Themes'),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const num = (v) => (typeof v === 'number' && Number.isFinite(v) ? v : 0);
|
|
33
|
+
function translateFusionAuthConfig(snap, opts = {}) {
|
|
34
|
+
const b = new translate_kit_1.ConfigBuilder();
|
|
35
|
+
const tenant = (opts.tenantId ? snap.tenants.find((t) => (0, record_set_1.str)(t.id) === opts.tenantId) : snap.tenants.find((t) => t.name === 'Default') ?? snap.tenants[0]) ?? {};
|
|
36
|
+
const tName = (0, record_set_1.str)(tenant.name) ?? 'tenant';
|
|
37
|
+
const area = `tenant ${tName}`;
|
|
38
|
+
b.set('strategies.password', true);
|
|
39
|
+
b.add('differs', 'authentication', 'password', 'Password sign-in. A database export carries the hashes (FusionAuth schemes verify as they are and re-hash on first sign-in); with the API alone, use the fusionauth lazy-migration preset.', 'auth_config.strategies.password');
|
|
40
|
+
if (snap.tenants.length > 1)
|
|
41
|
+
b.add('differs', 'tenants', 'tenants', `${snap.tenants.length} tenants: this report covers "${tName}". One Atlas instance per tenant, or one instance with tenants as organizations (data export tenantsAs).`, 'organizations');
|
|
42
|
+
// ── password rules ──
|
|
43
|
+
const rules = (0, record_set_1.isObj)(tenant.passwordValidationRules) ? tenant.passwordValidationRules : {};
|
|
44
|
+
const min = num(rules.minLength);
|
|
45
|
+
b.set('passwordPolicy.minLength', Math.max(8, min || 8));
|
|
46
|
+
if (min)
|
|
47
|
+
b.add(min < 8 ? 'differs' : 'mapped', area, 'passwordValidationRules.minLength', `${min}${min < 8 ? ' (Atlas requires at least 8; existing passwords still sign in)' : ''}.`, 'auth_config.passwordPolicy.minLength');
|
|
48
|
+
if (num(rules.maxLength)) {
|
|
49
|
+
b.set('passwordPolicy.maxLength', Math.min(num(rules.maxLength), 4096));
|
|
50
|
+
b.add('mapped', area, 'passwordValidationRules.maxLength', `${rules.maxLength}.`, 'auth_config.passwordPolicy.maxLength');
|
|
51
|
+
}
|
|
52
|
+
if (rules.requireMixedCase === true) {
|
|
53
|
+
b.set('passwordPolicy.requireUppercase', true);
|
|
54
|
+
b.set('passwordPolicy.requireLowercase', true);
|
|
55
|
+
b.add('mapped', area, 'passwordValidationRules.requireMixedCase', 'Upper and lower case required.', 'auth_config.passwordPolicy');
|
|
56
|
+
}
|
|
57
|
+
if (rules.requireNumber === true) {
|
|
58
|
+
b.set('passwordPolicy.requireNumber', true);
|
|
59
|
+
b.add('mapped', area, 'passwordValidationRules.requireNumber', 'A number required.', 'auth_config.passwordPolicy.requireNumber');
|
|
60
|
+
}
|
|
61
|
+
if (rules.requireNonAlpha === true) {
|
|
62
|
+
b.set('passwordPolicy.requireSymbol', true);
|
|
63
|
+
b.add('mapped', area, 'passwordValidationRules.requireNonAlpha', 'A non-alphanumeric character required.', 'auth_config.passwordPolicy.requireSymbol');
|
|
64
|
+
}
|
|
65
|
+
const history = (0, record_set_1.isObj)(rules.rememberPreviousPasswords) ? rules.rememberPreviousPasswords : {};
|
|
66
|
+
if (history.enabled === true && num(history.count)) {
|
|
67
|
+
b.set('passwordPolicy.historyCount', num(history.count));
|
|
68
|
+
b.add('mapped', area, 'passwordValidationRules.rememberPreviousPasswords', `Last ${history.count} passwords. Atlas starts the history at the first password set in Atlas.`, 'auth_config.passwordPolicy.historyCount');
|
|
69
|
+
}
|
|
70
|
+
const breach = (0, record_set_1.isObj)(rules.breachDetection) ? rules.breachDetection : {};
|
|
71
|
+
if (breach.enabled === true) {
|
|
72
|
+
b.set('passwordPolicy.checkBreaches', true);
|
|
73
|
+
b.add('mapped', area, 'passwordValidationRules.breachDetection', 'Breached passwords are refused.', 'auth_config.passwordPolicy.checkBreaches');
|
|
74
|
+
}
|
|
75
|
+
const pw = (0, record_set_1.isObj)(tenant.passwordEncryptionConfiguration) ? tenant.passwordEncryptionConfiguration : {};
|
|
76
|
+
if ((0, record_set_1.str)(pw.encryptionScheme))
|
|
77
|
+
b.add('differs', area, `passwordEncryptionConfiguration ${pw.encryptionScheme}`, 'Atlas stores Argon2id; imported FusionAuth hashes verify as they are and re-hash on first sign-in.', 'auth_config.passwordPolicy');
|
|
78
|
+
// ── multi-factor ──
|
|
79
|
+
const mfa = (0, record_set_1.isObj)(tenant.multiFactorConfiguration) ? tenant.multiFactorConfiguration : {};
|
|
80
|
+
const policy = (0, record_set_1.str)(mfa.loginPolicy);
|
|
81
|
+
if (policy === 'Required') {
|
|
82
|
+
b.set('mfaPolicy', 'required');
|
|
83
|
+
b.add('mapped', area, 'multiFactorConfiguration.loginPolicy', 'A second factor on every sign-in.', 'auth_config.mfaPolicy');
|
|
84
|
+
}
|
|
85
|
+
else if (policy === 'Enabled') {
|
|
86
|
+
b.set('mfaPolicy', 'optional');
|
|
87
|
+
b.add('mapped', area, 'multiFactorConfiguration.loginPolicy', 'Second factor optional (users who enrolled are challenged).', 'auth_config.mfaPolicy');
|
|
88
|
+
}
|
|
89
|
+
if ((0, record_set_1.isObj)(mfa.authenticator) && mfa.authenticator.enabled !== false) {
|
|
90
|
+
b.set('mfa.factors.totp', true);
|
|
91
|
+
b.add('mapped', area, 'multiFactorConfiguration.authenticator', 'Authenticator apps. Secrets move with a database export; with the API alone users enrol again.', 'auth_config.mfa.factors.totp');
|
|
92
|
+
}
|
|
93
|
+
if ((0, record_set_1.isObj)(mfa.email) && mfa.email.enabled === true) {
|
|
94
|
+
b.set('mfa.factors.emailCode', true);
|
|
95
|
+
b.add('mapped', area, 'multiFactorConfiguration.email', 'Email code as a second factor.', 'auth_config.mfa.factors.emailCode');
|
|
96
|
+
}
|
|
97
|
+
if ((0, record_set_1.isObj)(mfa.sms) && mfa.sms.enabled === true) {
|
|
98
|
+
b.set('mfa.factors.sms', true);
|
|
99
|
+
b.add('differs', area, 'multiFactorConfiguration.sms', 'SMS second factor: the phone numbers move with the data export; Atlas sends through your own messaging provider (bring your own keys), and recommends TOTP or passkeys.', 'auth_config.mfa.factors.sms');
|
|
100
|
+
}
|
|
101
|
+
const webauthn = (0, record_set_1.isObj)(tenant.webAuthnConfiguration) ? tenant.webAuthnConfiguration : {};
|
|
102
|
+
if (webauthn.enabled === true) {
|
|
103
|
+
b.set('strategies.passkey', true);
|
|
104
|
+
b.set('mfa.factors.passkey', true);
|
|
105
|
+
b.add('differs', area, 'webAuthnConfiguration', `Passkeys. FusionAuth does not export WebAuthn credentials: users register again${(0, record_set_1.str)(webauthn.relyingPartyId) ? ` (relying party ${webauthn.relyingPartyId})` : ''}.`, 'auth_config.mfa.factors.passkey');
|
|
106
|
+
}
|
|
107
|
+
// ── tokens and sessions ──
|
|
108
|
+
const jwt = (0, record_set_1.isObj)(tenant.jwtConfiguration) ? tenant.jwtConfiguration : {};
|
|
109
|
+
if (num(jwt.timeToLiveInSeconds)) {
|
|
110
|
+
b.set('session.jwtTtlSeconds', Math.min(Math.max(num(jwt.timeToLiveInSeconds), 60), 3600));
|
|
111
|
+
b.add('mapped', area, 'jwtConfiguration.timeToLiveInSeconds', `${jwt.timeToLiveInSeconds} seconds (Atlas allows 60 to 3600).`, 'auth_config.session.jwtTtlSeconds');
|
|
112
|
+
}
|
|
113
|
+
if (num(jwt.refreshTokenTimeToLiveInMinutes)) {
|
|
114
|
+
b.set('session.absoluteMs', (0, translate_kit_1.clampSessionMs)(num(jwt.refreshTokenTimeToLiveInMinutes) * 60_000));
|
|
115
|
+
b.add('mapped', area, 'jwtConfiguration.refreshTokenTimeToLiveInMinutes', `${jwt.refreshTokenTimeToLiveInMinutes} minutes.`, 'auth_config.session.absoluteMs');
|
|
116
|
+
}
|
|
117
|
+
if ((0, record_set_1.str)(jwt.refreshTokenExpirationPolicy) === 'SlidingWindow' && num(jwt.refreshTokenTimeToLiveInMinutes)) {
|
|
118
|
+
b.set('session.idleMs', (0, translate_kit_1.clampSessionMs)(num(jwt.refreshTokenTimeToLiveInMinutes) * 60_000));
|
|
119
|
+
b.add('mapped', area, 'jwtConfiguration.refreshTokenExpirationPolicy', 'Sliding window: an idle limit of the same length.', 'auth_config.session.idleMs');
|
|
120
|
+
}
|
|
121
|
+
const failed = (0, record_set_1.isObj)(tenant.failedAuthenticationConfiguration) ? tenant.failedAuthenticationConfiguration : {};
|
|
122
|
+
if (num(failed.tooManyAttempts))
|
|
123
|
+
b.add('mapped', area, 'failedAuthenticationConfiguration', `Lockout after ${failed.tooManyAttempts} failures: Atlas throttles failed sign-ins per account and IP (a locked user can be banned by an administrator).`, 'auth_config.rateLimit');
|
|
124
|
+
// ── applications: sign-up, redirect URLs, roles ──
|
|
125
|
+
const redirects = new Set();
|
|
126
|
+
let roleCount = 0;
|
|
127
|
+
for (const app of snap.applications) {
|
|
128
|
+
if (app.active === false)
|
|
129
|
+
continue;
|
|
130
|
+
const name = (0, record_set_1.str)(app.name) ?? (0, record_set_1.str)(app.id) ?? 'application';
|
|
131
|
+
const reg = (0, record_set_1.isObj)(app.registrationConfiguration) ? app.registrationConfiguration : {};
|
|
132
|
+
if (reg.enabled !== true && !b.auth.signUpMode) {
|
|
133
|
+
b.set('signUpMode', 'restricted');
|
|
134
|
+
b.add('mapped', `applications ${name}`, 'registrationConfiguration.enabled', 'Self-registration is off: Atlas sign-up is restricted (invitations still work).', 'auth_config.signUpMode');
|
|
135
|
+
}
|
|
136
|
+
if (app.verifyRegistration === true) {
|
|
137
|
+
b.set('requireEmailVerification', true);
|
|
138
|
+
b.add('mapped', `applications ${name}`, 'verifyRegistration', 'Email verification required.', 'auth_config.requireEmailVerification');
|
|
139
|
+
}
|
|
140
|
+
const oauth = (0, record_set_1.isObj)(app.oauthConfiguration) ? app.oauthConfiguration : {};
|
|
141
|
+
for (const u of (0, record_set_1.strs)(oauth.authorizedRedirectURLs))
|
|
142
|
+
redirects.add(u);
|
|
143
|
+
if ((0, record_set_1.strs)(oauth.enabledGrants).includes('client_credentials'))
|
|
144
|
+
b.add('manual', `applications ${name}`, 'oauthConfiguration.enabledGrants client_credentials', 'A machine-to-machine application: create an Atlas M2M client for it.', 'oauth_clients');
|
|
145
|
+
if ((0, record_set_1.strs)(oauth.enabledGrants).includes('password'))
|
|
146
|
+
b.add('manual', `applications ${name}`, 'oauthConfiguration.enabledGrants password', 'Resource-owner password grant: Atlas does not offer it; move the app to the authorization-code flow with PKCE.');
|
|
147
|
+
if ((0, record_set_1.isObj)(app.samlv2Configuration) && app.samlv2Configuration.enabled === true)
|
|
148
|
+
b.add('manual', `applications ${name}`, 'samlv2Configuration', 'FusionAuth acting as a SAML identity provider for this application: Atlas can act as one, configure it per service provider.', 'saml_idp');
|
|
149
|
+
for (const r of (0, record_set_1.objs)(app.roles)) {
|
|
150
|
+
const rn = (0, record_set_1.str)(r.name);
|
|
151
|
+
if (!rn)
|
|
152
|
+
continue;
|
|
153
|
+
const key = (0, translate_kit_1.keyOf)(rn);
|
|
154
|
+
if (b.roles[rn])
|
|
155
|
+
continue;
|
|
156
|
+
b.roles[rn] = key;
|
|
157
|
+
roleCount++;
|
|
158
|
+
b.push('roles', { key, name: rn, description: (0, record_set_1.str)(r.description) ?? '', permissions: [] });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (roleCount)
|
|
162
|
+
b.add('differs', 'applications', 'roles', `${roleCount} application role(s) become Atlas app roles (roles of the same name in different applications share one key).`, 'roles');
|
|
163
|
+
let exact = 0;
|
|
164
|
+
for (const url of redirects) {
|
|
165
|
+
if (url.includes('*') || !/^https?:\/\//.test(url)) {
|
|
166
|
+
b.add('differs', 'applications', `authorizedRedirectURLs ${url}`, 'Atlas redirect URLs are exact absolute URLs (no wildcards or custom schemes).', 'redirect_urls');
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
b.push('redirect_urls', { url });
|
|
170
|
+
exact++;
|
|
171
|
+
}
|
|
172
|
+
if (exact)
|
|
173
|
+
b.add('mapped', 'applications', 'authorizedRedirectURLs', `${exact} redirect URL(s).`, 'redirect_urls');
|
|
174
|
+
// ── identity providers ──
|
|
175
|
+
for (const idp of snap.identityProviders) {
|
|
176
|
+
if (idp.enabled === false)
|
|
177
|
+
continue;
|
|
178
|
+
const type = (0, record_set_1.str)(idp.type) ?? '';
|
|
179
|
+
const name = (0, record_set_1.str)(idp.name) ?? type;
|
|
180
|
+
if (type === 'SAMLv2' || type === 'OpenIDConnect') {
|
|
181
|
+
b.add('mapped', 'identity providers', `${name} (${type})`, 'Enterprise IdP: moves with the data export as an Atlas SSO connection; point it at Atlas\'s ACS URL / redirect URI at cutover.', 'sso_connections');
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
if (type === 'SAMLv2IdPInitiated') {
|
|
185
|
+
b.add('manual', 'identity providers', `${name} (${type})`, 'IdP-initiated SAML: Atlas SAML connections are SP-initiated.');
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
if (type === 'ExternalJWT' || type === 'SonyPSN' || type === 'Nintendo' || type === 'HYPR') {
|
|
189
|
+
b.add('manual', 'identity providers', `${name} (${type})`, 'No built-in Atlas provider: add it as a custom OAuth provider.', 'custom_oauth_providers');
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
const key = (0, translate_kit_1.socialKey)(type);
|
|
193
|
+
if (!key) {
|
|
194
|
+
b.add('manual', 'identity providers', `${name} (${type})`, 'No built-in Atlas provider: add it as a custom OAuth provider.', 'custom_oauth_providers');
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
const first = Object.values((0, record_set_1.isObj)(idp.applicationConfiguration) ? idp.applicationConfiguration : {}).find(record_set_1.isObj);
|
|
198
|
+
const clientId = (0, record_set_1.str)(idp.client_id) ?? (0, record_set_1.str)(first?.client_id);
|
|
199
|
+
b.socialProvider({ atlasKey: key, vendorName: name, area: 'identity providers', setting: `${name} (${type})`, clientId, scopes: (0, record_set_1.str)(idp.scope)?.split(/[\s,]+/).filter(Boolean) });
|
|
200
|
+
}
|
|
201
|
+
// ── what has no counterpart ──
|
|
202
|
+
const email = (0, record_set_1.isObj)(tenant.emailConfiguration) ? tenant.emailConfiguration : {};
|
|
203
|
+
if ((0, record_set_1.str)(email.host))
|
|
204
|
+
b.add('manual', area, 'emailConfiguration', `Mail goes through your own provider in Atlas (bring your own keys): configure ${(0, record_set_1.str)(email.host)} or an email API in the email provider settings; the SMTP password is never returned by FusionAuth.`, 'email_provider');
|
|
205
|
+
const activeLambdas = snap.lambdas.filter((l) => l.enabled !== false);
|
|
206
|
+
if (activeLambdas.length)
|
|
207
|
+
b.add('manual', 'lambdas', `${activeLambdas.length} lambda(s)`, 'JWT populate, reconcile and SAML lambdas: port the claims logic to an Atlas JWT template / action.', 'jwt_templates');
|
|
208
|
+
for (const w of snap.webhooks)
|
|
209
|
+
if (w.enabled !== false)
|
|
210
|
+
b.add('manual', 'webhooks', (0, record_set_1.str)(w.url) ?? (0, record_set_1.str)(w.id) ?? '?', 'FusionAuth webhook: recreate it as an Atlas webhook (event names differ).', 'webhooks');
|
|
211
|
+
if (snap.themes.filter((t) => (0, record_set_1.str)(t.name) !== 'FusionAuth Default').length)
|
|
212
|
+
b.add('manual', 'themes', 'custom themes', 'FusionAuth (FreeMarker) themes: rebuild the look in Atlas branding or the embeddable components.', 'branding');
|
|
213
|
+
if (snap.baseUrl)
|
|
214
|
+
b.add('differs', area, 'issuer', `Tokens carry iss "${(0, record_set_1.str)(tenant.issuer) ?? '(tenant issuer)'}"; Atlas tokens carry your Atlas issuer. Resource servers that pin the old issuer accept both during the bridge window (legacy issuers).`, 'legacy_issuers');
|
|
215
|
+
const vars = {};
|
|
216
|
+
if (snap.baseUrl)
|
|
217
|
+
vars.base_url = snap.baseUrl;
|
|
218
|
+
const issuer = (0, record_set_1.str)(tenant.issuer);
|
|
219
|
+
const urlIssuer = issuer && /^https:\/\//.test(issuer);
|
|
220
|
+
const bridgeVars = { ...vars, ...(issuer && !urlIssuer ? { issuer_name: issuer } : {}) };
|
|
221
|
+
return b.result(`FusionAuth ${area}`, {
|
|
222
|
+
bridge: { preset: urlIssuer ? 'fusionauth_url_issuer' : 'fusionauth', vars: bridgeVars },
|
|
223
|
+
lazy: { preset: 'fusionauth', config: vars },
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=fusionauth-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fusionauth-config.js","sourceRoot":"","sources":["../../../src/migrate/export/fusionauth-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { PasswordHash } from '@atlasauth/migrate';
|
|
2
|
+
import { type Tables } from './frameworks/tables';
|
|
3
|
+
import { RecordSet, type Obj } from './record-set';
|
|
4
|
+
import { VendorHttp } from './vendor-http';
|
|
5
|
+
/**
|
|
6
|
+
* `atlas migrate export fusionauth` — a FusionAuth tenant (self-hosted or
|
|
7
|
+
* FusionAuth Cloud) onto the canonical bundle models. Two ways in, both on the
|
|
8
|
+
* owner's machine:
|
|
9
|
+
*
|
|
10
|
+
* - the API with an API key (read-only is enough): users with their
|
|
11
|
+
* registrations, roles, groups, linked identity providers, two-factor
|
|
12
|
+
* methods (SMS, email) and recovery codes, identity providers (SAML v2 /
|
|
13
|
+
* OpenID Connect as SSO connections), applications and API keys. The API
|
|
14
|
+
* NEVER returns password hashes or authenticator secrets.
|
|
15
|
+
* - a DATABASE DUMP of a self-hosted install (one file per table, see
|
|
16
|
+
* {@link fusionAuthSnapshotFromTables}): the only path with the hashes
|
|
17
|
+
* (`password`, `salt`, `factor`, `encryption_scheme`) and authenticator
|
|
18
|
+
* secrets. FusionAuth Cloud has no database access: ask FusionAuth support
|
|
19
|
+
* for the export, or use the `fusionauth` lazy-migration preset.
|
|
20
|
+
*
|
|
21
|
+
* Both paths build one {@link FusionAuthSnapshot}; {@link mapFusionAuth} maps it.
|
|
22
|
+
* The FusionAuth user id is the `sub` of every FusionAuth JWT, so it is the user id.
|
|
23
|
+
*/
|
|
24
|
+
export interface FusionAuthSnapshot {
|
|
25
|
+
baseUrl?: string;
|
|
26
|
+
tenants: Obj[];
|
|
27
|
+
/** Applications with their `roles` ([{ name, isDefault, isSuperRole }]). */
|
|
28
|
+
applications: Obj[];
|
|
29
|
+
/** Groups with `roles` ({ <applicationId>: [role names] }). */
|
|
30
|
+
groups: Obj[];
|
|
31
|
+
identityProviders: Obj[];
|
|
32
|
+
/** Public keys by key id (PEM), for SAML identity providers. */
|
|
33
|
+
keys: Record<string, string>;
|
|
34
|
+
apiKeys: Obj[];
|
|
35
|
+
/**
|
|
36
|
+
* Users in the API shape (`registrations`, `memberships`, `twoFactor.methods`) plus what the API
|
|
37
|
+
* cannot return: `password`, `salt`, `factor`, `encryptionScheme`, `links` (identity provider links) and `recoveryCodes`.
|
|
38
|
+
*/
|
|
39
|
+
users: Obj[];
|
|
40
|
+
source: 'api' | 'database';
|
|
41
|
+
}
|
|
42
|
+
export interface FusionAuthMapOptions {
|
|
43
|
+
/** Groups move as organizations (default), as app roles, or not at all. */
|
|
44
|
+
groupsAs?: 'organizations' | 'roles' | 'skip';
|
|
45
|
+
/** Several tenants: each tenant becomes an organization its users belong to. */
|
|
46
|
+
tenantsAs?: 'organizations' | 'skip';
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A FusionAuth password (`password`, `salt`, `factor`, `encryption_scheme`) →
|
|
50
|
+
* an Atlas hash. Schemes and their registry ids are documented in core's
|
|
51
|
+
* fusionauth-hashes.ts; salts are base64 except bcrypt's 22-character salt.
|
|
52
|
+
*/
|
|
53
|
+
export declare function fusionAuthPassword(u: {
|
|
54
|
+
password?: unknown;
|
|
55
|
+
salt?: unknown;
|
|
56
|
+
factor?: unknown;
|
|
57
|
+
encryptionScheme?: unknown;
|
|
58
|
+
}): {
|
|
59
|
+
hash: PasswordHash;
|
|
60
|
+
} | {
|
|
61
|
+
problem: string;
|
|
62
|
+
} | null;
|
|
63
|
+
export interface FusionAuthApiOptions {
|
|
64
|
+
/** `https://auth.example.com` or `https://acme.fusionauth.io`. */
|
|
65
|
+
baseUrl: string;
|
|
66
|
+
apiKey: string;
|
|
67
|
+
/** Required by FusionAuth when the API key is not tenant-locked and there are several tenants. */
|
|
68
|
+
tenantId?: string;
|
|
69
|
+
pageSize?: number;
|
|
70
|
+
fetchImpl?: typeof fetch;
|
|
71
|
+
sleep?: (ms: number) => Promise<void>;
|
|
72
|
+
onProgress?: (m: string) => void;
|
|
73
|
+
}
|
|
74
|
+
export declare function fusionAuthBase(raw: string): string;
|
|
75
|
+
export declare function fusionAuthHttp(o: FusionAuthApiOptions): VendorHttp;
|
|
76
|
+
/** Read a tenant through the API into a snapshot. */
|
|
77
|
+
export declare function fetchFusionAuth(http: VendorHttp, o: Pick<FusionAuthApiOptions, 'baseUrl' | 'pageSize' | 'onProgress'> & {
|
|
78
|
+
warn?: (m: string) => void;
|
|
79
|
+
}): Promise<FusionAuthSnapshot>;
|
|
80
|
+
/**
|
|
81
|
+
* A snapshot from a dump of a self-hosted FusionAuth database: one file per
|
|
82
|
+
* table (`psql \copy users TO 'users.csv' CSV HEADER`, or `mysql … --batch`
|
|
83
|
+
* converted, or a JSON array), named as in FusionAuth's schema: `users`,
|
|
84
|
+
* `identities` (1.59+), `tenants`, `applications`, `application_roles`,
|
|
85
|
+
* `user_registrations`, `user_registrations_application_roles`, `groups`,
|
|
86
|
+
* `group_members`, `group_application_roles`, `identity_providers`,
|
|
87
|
+
* `identity_provider_links`, `twofactor_methods`, `twofactor_recovery_codes`,
|
|
88
|
+
* `api_keys`, `keys`.
|
|
89
|
+
*/
|
|
90
|
+
export declare function fusionAuthSnapshotFromTables(t: Tables): FusionAuthSnapshot;
|
|
91
|
+
/** Map a snapshot (API or database) onto canonical records. */
|
|
92
|
+
export declare function mapFusionAuth(snap: FusionAuthSnapshot, opts?: FusionAuthMapOptions): RecordSet;
|
|
93
|
+
export interface ExportFusionAuthOptions extends FusionAuthMapOptions {
|
|
94
|
+
/** A database dump of a self-hosted install (hashes and authenticator secrets included). */
|
|
95
|
+
tables?: Tables;
|
|
96
|
+
/** The API, when exporting live (no hashes, no authenticator secrets). */
|
|
97
|
+
api?: FusionAuthApiOptions;
|
|
98
|
+
}
|
|
99
|
+
export declare function exportFusionAuth(o: ExportFusionAuthOptions): Promise<RecordSet>;
|