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)
| Auth0 | Avnology 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)
| Clerk | Avnology 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)
| Firebase | Avnology 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
- TypeScript SDK -- Getting started
- Configuration -- Client setup