Migration to Descope
Migrating to Descope from another authentication provider or custom setup is a structured process, designed to allow you to retain security, functionality, and ease of use. This guide covers migration options, supported third-party services, and password migration methods. Follow these steps to ensure a seamless transition to Descope.
Note
If you wish to layer Descope on top of your legacy provider instead of migrating fully away from it, you can also configure Descope as an identity provider in your legacy provider.
Migration Approaches
There are two primary strategies to migrate users and data to Descope:
- Full Migration: Bulk-export users (and associated attributes/roles), import them into Descope, and then gradually switch traffic so Descope is the only source of truth. You can optionally add session migration so users with active sessions at your legacy provider do not have to sign in again.
- JIT (Just-In-Time) Migration: Do not bulk-export users. Instead, provision users in Descope when they sign in, often by verifying their credentials or identity against the legacy provider (for example, via a generic HTTP connector or custom API) and then creating/updating the user in Descope on-the-fly.
Each individual migration guide (Auth0, Azure AD B2C, Cognito, etc.) explains how to implement these strategies for that specific provider, including when to combine JIT with full migration or session migration.
Supported Password Hashing Algorithms
Descope supports various hashing protocols to ensure smooth migration of passwords and minimal disruption for users. These protocols include:
- Bcrypt
- Argon2
- Django
- Firebase
- PBKDF2
- PHPass
- MD5 (for legacy compatibility)
For custom password hashes, explore how Descope's User Management API can handle additional data types and protocols.
Migration Steps
1. Prepare User Data
- Export data, ensuring you have all necessary fields such as unique identifiers (Login IDs), emails, names, and passwords.
- Verify data accessibility to ensure smooth import using Descope's User Management API.
2. Create Users in Descope
- Use Descope's Create User API or Batch Create User API to import your user data. This will create user records in Descope, including role assignments, attributes, and organization mappings as needed.
3. Import Passwords (Optional)
- Descope supports various hashing algorithms, so users can log in with their existing passwords without needing a reset. For unsupported formats, consider a password reset flow or handle it via API updates.
4. Handle Social Logins and External Identity Providers (Optional)
- For accounts with social logins (e.g., Google, Facebook), the migration will handle login IDs. Descope will link these IDs without needing further imports.
Auth0
Learn how to migrate your Auth0 users, organizations, permissions, and roles to Descope
Azure AD B2C
Learn how to migrate your Azure AD B2C users to Descope
AWS Cognito
Learn how to migrate your Cognito user groups and custom attributes to Descope
Firebase
Learn how to migrate your Firebase users to Descope
Ping
Learn how to migrate your Ping users, environments, permissions, and roles to Descope
Keycloak
Learn how to migrate your Keycloak users, realms, and identity providers to Descope
Custom Data Store
Learn how to migrate your users from a custom data store to Descope