Migrera från Auth0 till FoxIDs

Flytta Auth0 inloggningar till FoxIDs med den migreringsmetod som passar varje anslutning. Importera databasanvändare med bcrypt lösenordshashar eller låt dem välja ett nytt lösenord. Importera lösenordsfria användare utan lösenord och aktivera engångskoder. För sociala inloggningar och företagsinloggningar konfigurerar du FoxIDs autentiseringsmetoder som litar på de externa identitetsleverantörerna.

Den här tekniska guiden omfattar applikationskonfiguration, användarimport och kontokoppling för Auth0 databasanslutningar, lösenordsfria e-post-/SMS-anslutningar samt sociala anslutningar och företagsanslutningar.

För databasanvändare och lösenordsfria användare konverterar du den granskade Auth0 exporten till en CSV-fil och använder FoxIDs Seed Tool för att massimportera användarna till FoxIDs. CSV-exemplen nedan visar fälten för varje migreringsmetod.

Välj en metod för varje grupp innan du förbereder importen:

Metod Förutsättningar Första inloggningen
Importera bcrypt hashar En Auth0 export av lösenordshashar som matchats med de granskade användaruppgifterna. Användaren anger sitt befintliga lösenord; FoxIDs tillämpar lösenordspolicyn och eventuell obligatorisk MFA.
Importera användare för att skapa lösenord Granskade användaruppgifter. Användaren bekräftar sin e-postadress och väljer ett lösenord.
Migrera lösenordsfria användare Granskade användaruppgifter. Användaren loggar in med en engångskod och behåller ett konto utan lösenord.
Migrera sociala inloggningar och företagsinloggningar En FoxIDs autentiseringsmetod konfigurerad att lita på varje extern identitetsleverantör. Användaren loggar in hos sin befintliga leverantör.

Importerade användare med och utan lösenord autentiseras lokalt i FoxIDs. Sociala användare och företagsanvändare autentiseras hos den anslutna identitetsleverantören.

Förbered målmiljön och applikationen

En särskild testmiljö låter dig prova migreringen med en liten användargrupp innan övergången till produktion. Konfigurationen omfattar:

  1. Om du vill ha en anpassad domän, konfigurera och verifiera den för tenanten innan du konfigurerar applikationer och externa identitetsleverantörer. Använd de resulterande FoxIDs URL:erna under hela migreringen. Om domänen ändras senare måste externa konfigurationer uppdateras, bland annat applikationernas authority- eller metadata-URL:er och leverantörernas callback- och utloggnings-URL:er.
  2. Varje miljö har en förvald Login autentiseringsmetod med namnet login. Anpassa dess varumärkesprofilering och inloggningsgränssnitt till önskat utseende och justera inloggningsalternativen för de importerade användarna.
  3. Skapa de autentiseringsmetoder som ansluter sociala användare och företagsanvändare till deras externa identitetsleverantörer enligt motsvarande migreringsavsnitt nedan.
  4. Konfigurera applikationen, dess tillåtna omdirigerings-URL:er och utloggningsbeteende samt de API:er som accepterar dess åtkomsttoken.

FoxIDs Cloud tillhandahåller leverans av e-post och SMS för skapande av lösenord, lösenordsfri inloggning och multifaktorautentisering (MFA), beroende på vald FoxIDs Cloud plan.

Konfigurera nödvändiga MFA-inställningar och hur användarna ska registrera sig; de importer som beskrivs här överför inte Auth0 MFA-registreringar. För lösenordskonton granskar du krav på längd, komplexitet och giltighetstid: hashimport hoppar över validering av lösenordspolicyn vid importen, men den valda policyn gäller när användaren loggar in.

Applikationskonfiguration är ett separat arbete vid sidan av användarimporten. Granska issuer, audience, scopes, claims och tokenvalidering samt eventuella antaganden i Auth0 SDK, Actions, organisationsmedlemskap och rolltilldelningar. Återskapa det beteende applikationen behöver. Den allmänna migreringsguiden beskriver den övergripande applikationsinventeringen och utrullningen.

Exportera en avgränsad grupp Auth0 användare

Följ Auth0s anvisningar för massexport av användare. Välj källanslutningen uttryckligen med connection_id; en API-export utan detta fält omfattar alla anslutningar. Håll databasanvändare, lösenordsfria användare och federerade användare åtskilda under konverteringen.

Använd JSON-kompatibel export (NDJSON) som källa för konverteringen. Auth0 CSV-exporter använder ytterligare escape-tecken och kan därför inte användas direkt i FoxIDs Seed Tool. En liten export kan användas för att prova konverteringen till Seed Tools CSV-format.

Ta med user_id, blocked samt identifierare och verifieringsstatus för varje anslutning: email och email_verified, eller phone_number och phone_verified för SMS-användare. För sociala konton, företagskonton och länkade konton bevaras leverantör, anslutning och användar-ID från identities för kontokopplingen. Exportera bara de användaruppgifter som behövs efter migreringen och behåll källans tenant och anslutning tillsammans med exporten. Se Auth0s användarprofilschema när du väljer fält.

Hämta lösenordshashar för att behålla lösenorden

Begär exporten av lösenordshashar via Auth0 Support. Den är separat från exporten av användaruppgifter. Auth0s guide för export av lösenordshashar beskriver NDJSON-posterna och fältet passwordHash. Exemplet $2b$10$... anger bcrypt varianten 2b och kostnadsfaktorn 10.

Matcha varje hash med rätt användare med hjälp av källans tenant, databasanslutning och användar-ID.

Mappa användaruppgifter och bevara applikationskonton

FoxIDs skapar ett eget beständigt användar-ID för importerade lokala användare. Att importera Auth0 user_id som en anpassad claim gör det inte till FoxIDs användar-ID och bevarar inte automatiskt applikationens sub-claim. För sociala inloggningar och företagsinloggningar kontrolleras identiteten direkt från leverantören och det subject som FoxIDs utfärdar till applikationen.

För att behålla Auth0 användar-ID som applikationens sub importerar du det som en anpassad claim, exempelvis legacy_auth0_user_id. Konfigurera en Map claim-transformering på Login autentiseringsmetoden med åtgärden Replace claim, indata-claim legacy_auth0_user_id och utdata-claim sub. Applikationen får då Auth0 användar-ID som sub, medan användarens beständiga FoxIDs ID förblir oförändrat.

Upprätthåll en mappning mellan källidentiteten, den nya FoxIDs identiteten och det befintliga applikationskontot. Till exempel ska den gamla Auth0 identiteten och den nya FoxIDs identiteten kopplas till samma kundpost under övergången, inte skapa två kundposter. Kontrollera det faktiska subject som utfärdas till varje applikation och uppdatera dess kontokoppling vid behov. Länka inte konton enbart för att deras e-postadresser är lika.

Använd följande mappning vid import av lokala användare:

Källinformation Mål och beslut
email Email. Kontrollera dubbletter efter trimning och konvertering till gemener, inklusive kollisioner med befintliga FoxIDs användare.
email_verified EmailVerified. Bevara känd status; markera inte alla importerade adresser som verifierade.
phone_number Phone för lösenordsfria SMS-användare. Bevara internationellt format med landskod och kontrollera dubbletter.
phone_verified PhoneVerified. Bevara känd verifieringsstatus.
blocked DisableAccount. Håll blockerade eller på annat sätt begränsade konton inaktiverade.
user_id, tenant och anslutning Bevara i en migreringsmappning med begränsad åtkomst. Käll-ID kan även sparas i en anpassad claim för spårbarhet.
Namn och nödvändiga användarattribut Mappa uttryckligen till de claims dina applikationer använder. Kopiera inte alla metadatafält.
Roller och åtkomsttilldelningar Återskapa från betrodda administrativa uppgifter.

Migrera sociala inloggningar och företagsinloggningar

Skapa en FoxIDs autentiseringsmetod för varje social anslutning eller företagsanslutning och etablera tillit direkt till den externa identitetsleverantören. Användarna behåller sina konton och inloggningsuppgifter hos leverantören.

  1. Identifiera leverantören och konfigurationen bakom varje Auth0 anslutning. Använd relevant integrationsguide för leverantören, exempelvis Google, Facebook eller Microsoft Entra ID, och välj den autentiseringsmetod med OpenID Connect, SAML 2.0 eller WS-Federation som stöds.
  2. Registrera eller konfigurera FoxIDs hos leverantören. Utbyt klientinställningar eller federationsmetadata och konfigurera callback- och utloggnings-URL:er enligt integrationsguiden. Behåll Auth0 konfigurationen under övergången.
  3. Tillåt den nya autentiseringsmetoden i FoxIDs applikationen. Konfigurera Home Realm Discovery så att användarna kan välja leverantör eller dirigeras dit enligt konfigurerade regler.
  4. Stäm av leverantörsidentiteten mot det befintliga applikationskontot. Identifierarna från en testinloggning kan jämföras med källkontot; ett Auth0 användar-ID är inte nödvändigtvis identifieraren som skickas direkt till FoxIDs. Om du behöver lagra claims eller åtkomsttilldelningar per användare i FoxIDs, konfigurera och provisionera externa användare.
  5. Återskapa begränsningar som tidigare tillämpades av Auth0, inklusive blockerade användare och organisationsåtkomst.

Det förväntade flödet är applikation → FoxIDs → extern identitetsleverantör → FoxIDs → applikation. FoxIDs utfärdar applikationens token efter att leverantören har autentiserat användaren.

Du kan prova varje anslutning genom att starta inloggning från applikationen, välja leverantör och genomföra dess inloggningsflöde. Det visar MFA, applikationskonto och behörigheter samt utloggningsbeteende.

Migrera lösenordsfria användare

Importera användare från Auth0s lösenordsfria e-post- eller SMS-anslutningar som interna FoxIDs användare utan lösenord. Konfigurera lösenordsfri inloggning så att de fortsätter logga in med en engångskod. Användare som tidigare fick en Auth0 magic link anger i stället en engångskod på den inloggningssida de redan har öppnat. Därmed behöver de inte följa inloggningslänkar i e-post eller SMS.

  1. Aktivera e-post eller telefon som inloggningsidentifierare på FoxIDs Login autentiseringsmetoden och aktivera Passwordless with email (one-time password) eller Passwordless with SMS (one-time password) efter behov.
  2. För en inloggningsmetod avsedd för lösenordsfria användare väljer du Disable password authentication och inaktiverar skapande/återställning av lösenord via e-post och SMS. Då fokuserar inloggningsflödet på engångskoder.
  3. Importera användarna utan Password och samtliga lösenordshashfält. Låt SetPasswordEmail, SetPasswordSms och ChangePassword vara false så att användarna inte behöver välja lösenord. Bevara verifieringsstatus, inaktiveringsstatus och nödvändiga claims.

Du kan prova lösenordsfri inloggning med en importerad testanvändares e-postadress eller telefonnummer och ange den mottagna koden. En giltig kod låter en aktiverad användare fortsätta genom eventuell obligatorisk MFA till applikationen; ogiltiga eller utgångna koder och inaktiverade konton ger inte åtkomst.

Den här Seed Tool CSV-filen importerar exempelvis en fiktiv användare med lösenordsfri e-postinloggning:

Email;EmailVerified;SetPasswordEmail;SetPasswordSms;ChangePassword;DisableAccount
alice@example.com;true;false;false;false;false

För SMS-användare ersätter du Email och EmailVerified med Phone och PhoneVerified, med det granskade telefonnumret och verifieringsstatusen. Samma uppladdningsprocedur gäller. Användaren har fortfarande inget lösenord efter en lyckad lösenordsfri inloggning.

Importera användare med bcrypt lösenordshashar

FoxIDs accepterar fullständiga bcrypt strängar med prefixen $2a$, $2b$ eller $2y$ och kostnader från 4 till 16. För användare vars hashvärden ligger utanför det format som stöds använder du lösenordsinställning via e-post.

Aktivera e-postinloggning och lösenordsautentisering på autentiseringsmetoden FoxIDs Login för dessa användare.

Kopiera varje matchat Auth0 passwordHash-värde till CSV-kolumnen PasswordHash och ange bcrypt i PasswordHashAlgorithm. Bevara hela hashsträngen, inklusive variant, kostnad och inbyggt salt. Den är redan kodad för bcrypt. Se format för lösenordshashar och Control API:s kontrakt för lösenordsimport.

Använd följande kolumner för Seed Tool. Detta är ett syntetiskt testkonto; ersätt det med din granskade export:

Email;EmailVerified;PasswordHashAlgorithm;PasswordHash;SetPasswordEmail;ChangePassword;DisableAccount
alice@example.com;true;bcrypt;$2b$10$..CA.uOD/eaGAOmJB.yMBu3YunYvFEoaS5IJZ/wiqfQ/EWx.HaqjC;false;false;false

Utelämna Password och PasswordHashSalt. Låt SetPasswordEmail, SetPasswordSms och ChangePassword vara false när användaren ska fortsätta med sitt befintliga lösenord. Bevara inaktiveringsstatus, verifieringsstatus, claims och MFA-krav från den granskade mappningen. Ta med PasswordLastChanged om du känner till den ursprungliga ändringstidpunkten, i Unix-sekunder; annars registrerar FoxIDs importtidpunkten för kontroller av lösenordets ålder.

Samma uppladdningsförfarande gäller för alla importer av lokala användare. Massetablering kan ersätta ett befintligt konto och dess autentiseringsuppgifter, oavsett valt lösenordsformat.

Med en importerad testanvändare kan du prova inloggning med det ursprungliga lösenordet och sedan med ett felaktigt lösenord. Det ursprungliga lösenordet autentiserar användaren enligt den konfigurerade lösenordspolicyn och MFA; ett felaktigt lösenord eller ett inaktiverat konto ger inte åtkomst. Lösenordsbyte och återställning kan också provas via det konfigurerade inloggningsgränssnittet.

Den importerade hashen förblir bcrypt efter inloggning. Ett lösenord som anges eller ändras i FoxIDs lagras med FoxIDs standardformat PBKDF2. Lösenordshistoriken fortsätter att förhindra återanvändning enligt vald policy, även när en gammal bcrypt hash behålls efter en lösenordsåterställning.

Importera användare för lösenordsinställning

Använd denna metod för konton som ska välja ett nytt lösenord i stället för att importera en hash. Aktivera e-postinloggning, lösenordsautentisering och lösenordsinställning via e-post på autentiseringsmetoden FoxIDs Login. För användare som ska fortsätta utan lösenord följer du Migrera lösenordsfria användare.

Migrering med lösenordsinställning: exportera och granska användardata från Auth0, importera användare utan lösenord och låt dem sedan bekräfta sin e-postadress och ange ett lösenord i FoxIDs vid första inloggningen.

Användarimporten förbereder kontona. Lösenordet anges när varje användare påbörjar en inloggning, inte under importen.

Konvertera de granskade posterna till en UTF-8-fil för FoxIDs Seed Tool. Kolumnrubrikerna är skiftlägeskänsliga och avgränsaren är ett semikolon. Exemplet innehåller fiktiva användare med tidigare verifierade e-postadresser; det andra kontot förblir inaktiverat:

Email;EmailVerified;SetPasswordEmail;DisableAccount;RequireMultiFactor;Claims
alice@example.com;true;true;false;true;"[{""Claim"":""legacy_auth0_user_id"",""Values"":[""auth0|demo-001""]}]"
blocked@example.com;true;true;true;true;"[{""Claim"":""legacy_auth0_user_id"",""Values"":[""auth0|demo-002""]}]"

SetPasswordEmail=true väljer lösenordsinställning med e-postbekräftelse. Utelämna Password och alla kolumner för lösenordshashar. Du behöver inget tillfälligt delat lösenord eller ChangePassword för detta flöde. RequireMultiFactor=true är exemplets valda policy och kräver att motsvarande MFA-metoder konfigureras.

Lämna endast ut exemplets claim legacy_auth0_user_id till applikationer som behöver den genom deras konfigurerade claim-hantering.

Ladda upp användare och granska resultatet

Använd detta uppladdningsförfarande för användare med bcrypt hashvärden, lösenordsfria användare och användare som ska välja ett lösenord vid första inloggningen, med fälten för den valda metoden.

Seed Tool delar upp fält vid semikolon; citerade fält kan inte innehålla semikolon eller radbrytningar. Använd Control API:s användaroperationer om värdena kräver en mer uttrycksfull importrepresentation.

  1. Ladda ned och konfigurera Seed Tool för den avsedda miljön. Ange sökvägen till den konverterade CSV-filen i SeedSettings.UsersSvcPath.
  2. Kör Seed Tool och välj U för att massuppladda användarna.
  3. Registrera de nya användar-ID:na i din migreringsmappning.

Du kan prova uppladdningen med en CSV-fil med några användare i en testmiljö. Seed Tool rapporterar antalet lyckade och misslyckade operationer. De importerade användarna kan granskas i FoxIDs Control för att se identifierare, inaktiveringsstatus, claims och flaggor för lösenordsinställning.

Seed Tool använder massetablering som kan ersätta befintliga användare i stället för att sammanfoga dem säkert. Kontrollera kollisioner före uppladdningen. Kör inte hela filen igen efter att användarna har angett lösenord eller fått åtkomst: ersättning kan ta bort autentiseringsuppgifter och tillstånd och skapa nya användar-ID:n. Stäm av en delvis genomförd import innan du försöker igen; hantera senare ändringar med granskade, riktade användaruppdateringar.

Lösenordsinställning vid första inloggningen

För en aktiverad importerad användare med SetPasswordEmail=true är det förväntade flödet:

  1. Användaren öppnar applikationen och påbörjar inloggning via FoxIDs Login.
  2. FoxIDs identifierar användaren genom e-postadressen och skickar en bekräftelsekod.
  3. Användaren skickar in koden och ett nytt lösenord som uppfyller FoxIDs lösenordspolicy.
  4. FoxIDs verifierar e-postadressen, sparar lösenordet och nollställer flaggorna för lösenordsinställning. Inloggningen fortsätter genom eventuella obligatoriska MFA-steg innan användaren återgår till applikationen.

Import av en användare skickar inte e-postmeddelandet för lösenordsinställning. Efterföljande lösenordsinloggningar använder det nya lösenordet i FoxIDs, inte det tidigare lösenordet i Auth0. Om användaren inte kan ta emot koden används en godkänd återställningsprocess som verifierar identiteten.

Du kan utforska flödet med en testanvändare genom att följa inloggningsstegen ovan. Dessa scenarier visar de förväntade resultaten:

Scenario Förväntat resultat
Första och efterföljande inloggningar E-postmeddelandet kommer fram; inställningen lyckas med en giltig kod och ett lösenord som uppfyller policyn; nästa inloggning upprepar inte inställningen.
Ogiltig eller utgången kod Lösenordsinställningen misslyckas utan att ge åtkomst till applikationen.
Blockerat konto Varken lösenordsinställning eller inloggning aktiverar kontot.
Konto och behörigheter Användaren når samma applikationskonto och data med avsedd åtkomst och utan ytterligare behörigheter.
MFA, API-åtkomst och utloggning Obligatorisk MFA upprätthålls; API:er accepterar avsedda token och avvisar ogiltiga; utloggning fungerar som överenskommet.

Driftsätt och behåll möjligheten att återgå

Migreringen kan genomföras per applikation eller användargrupp. Användarna kan fortsätta via sin vanliga applikations-URL med det konfigurerade inloggningsflödet: sitt befintliga lösenord, lösenordsinställning, en engångskod eller sin befintliga externa identitetsleverantör.

Före varje produktionsimport stämmer du av användare som skapats, ändrats, blockerats eller tagits bort sedan exporten. Definiera ett kort ändringsstopp eller en annan kontrollerad avstämningsprocess. Skriv inte över användare som redan har migrerats för att tillämpa dessa ändringar.

Övervaka leverans av e-post och SMS, misslyckad lösenordsinställning, inloggningsfel och problem med kontomappning. Vid hashimport tar du hänsyn till lösenordsändringar i Auth0 efter exporten så att användarna inte kommer med ett lösenord som skiljer sig från den importerade hashen. Återgång kräver att den tidigare konfigurationen i Auth0 fortfarande finns tillgänglig. Du kan prova att återställa konfigurationen för en testapplikation för att se återgången till inloggningsflödet i Auth0.

Ett lösenord som anges i FoxIDs synkroniseras inte tillbaka till Auth0. En återgång använder därför de autentiseringsuppgifter som fortfarande finns i Auth0. Definiera hur användare som bara skapats i FoxIDs ska få åtkomst via Auth0 om en återgång behövs. För lösenordsfri och federerad inloggning behåller du leveransinställningarna och leverantörsanslutningarna i Auth0 som behövs för att återställa det tidigare flödet. Avveckla den gamla integrationen och ta bort sparade exportfiler först när kontoåtkomst och driftsupport har godkänts.