Avnology ID
SDKsTypeScript SDKGuides

Migration Guide

Migrate from Auth0, Clerk, Firebase Auth, or other providers to Avnology ID.

Migration Guide

This guide helps you migrate from other authentication providers to Avnology ID using the TypeScript SDK.

From Auth0

Client initialization

// Before (Auth0)
import { Auth0Client } from "@auth0/auth0-spa-js";
const auth0 = new Auth0Client({ domain: "myapp.auth0.com", clientId: "..." });

// After (Avnology ID)
import { AvnologyId } from "@avnology/sdk-typescript";
const client = new AvnologyId({ baseUrl: "https://api.id.avnology.com", clientId: "..." });

Method mapping (Auth0 to Avnology ID)

Auth0Avnology ID
auth0.loginWithRedirect()client.loginWithProvider("google") or build auth URL manually
auth0.loginWithPopup()Use @avnology/login-widget popup mode
auth0.getTokenSilently()client.getSession() with autoRefresh: true
auth0.getUser()client.getSession() then session.identity
auth0.logout()client.logout()
auth0.isAuthenticated()(await client.getSession()) !== null

From Clerk

Method mapping (Clerk to Avnology ID)

ClerkAvnology ID
clerk.signIn.create()client.login()
clerk.signUp.create()client.register()
clerk.session.getToken()Managed automatically with autoRefresh
useUser()useSession() from @avnology/id-elements
useAuth()useSession() from @avnology/id-elements
useOrganization()Query via client.admin.listOrganizations()
<SignIn /><LoginForm /> from @avnology/id-elements
<SignUp /><RegistrationForm /> from @avnology/id-elements

From Firebase Auth

Method mapping (Firebase to Avnology ID)

FirebaseAvnology ID
signInWithEmailAndPassword()client.login({ email, password })
createUserWithEmailAndPassword()client.register({ email, password })
signInWithPopup(googleProvider)client.loginWithProvider("google")
signOut()client.logout()
onAuthStateChanged()Use useSession() hook or poll getSession()
currentUser.getIdToken()client.getTokens().accessToken
sendPasswordResetEmail()client.requestRecovery({ email })
sendEmailVerification()client.resendVerification({ email })

User data migration

Use the bulk import API to migrate user data.

const users = existingUsers.map((u) => ({
  email: u.email,
  traits: {
    name: { first: u.firstName, last: u.lastName },
    phone: u.phone,
  },
  verified: u.emailVerified,
  metadata: {
    admin: { migratedFrom: "auth0", legacyId: u.auth0Id },
  },
}));

const result = await client.admin.bulkImportUsers({ users });
console.log(`Migrated ${result.totalCreated} users, ${result.totalFailed} failed`);

See also

On this page