Tvåfaktors- och multifaktorautentisering (2FA/MFA)

FoxIDs stöder både ett enkelt tvåfaktorsläge och ett avancerat multifaktorsläge i inloggningsautentiseringsmetoden.

  • Tvåfaktorsläge: Advanced multi-factor är inaktiverat (standard).
  • Multifaktorsläge: Advanced multi-factor är aktiverat.

Använd tvåfaktorsläge när en extra faktor räcker. Använd multifaktorsläge när du behöver en ordnad MFA-kedja eller vill använda autentiseringsmetoder som MFA-steg.

Begrepp

Tvåfaktorsautentisering (2FA) och multifaktorautentisering (MFA) lägger båda till ett eller flera verifieringssteg efter den primära inloggningen.

  • 2FA: en primär inloggning plus en extra faktor.
  • MFA: en primär inloggning plus en eller flera ordnade extra faktorer.

Stödda faktorer

FoxIDs stöder inbyggda faktorer och autentiseringsmetoder som MFA-poster.

Faktor Typ AMR-värde
SMS-kod Inbyggd sms
E-postkod Inbyggd email
Authenticator app-kod Inbyggd otp
Recovery code Inbyggd (authenticator app) otp
Autentiseringsmetod (OIDC, SAML 2.0, TrackLink) Konfigurerbar post Konfigurerad AMR eller metod-/profilnamn om fältet är tomt

Du kan använda valfri kompatibel authenticator app, till exempel Google Authenticator, Microsoft Authenticator, Authy och andra TOTP-appar.

När MFA krävs

MFA utlöses när något av följande gäller:

MFA-krav gäller i båda lägena. Om Advanced multi-factor är inaktiverat uppfylls kravet av det enkla tvåfaktorsflödet.

Om specifika ACR-värden begärs tillsammans med urn:foxids:mfa är det bara de matchande ACR-värdena som krävs.

Tvåfaktorsläge (Advanced multi-factor är inaktiverat)

I detta läge konfigureras inbyggda tvåfaktorsalternativ direkt:

  • Authenticator app
  • SMS
  • E-post

Så här konfigurerar du tvåfaktorsläge:

  1. Öppna fliken Authentication.
  2. Klicka på inloggningsautentiseringsmetoden Login för att redigera den.
  3. Klicka på Show advanced.
  4. Gå till avsnittet Multi-factor.
  5. Låt Advanced multi-factor vara inaktiverat och konfigurera alternativen för Authenticator app, SMS och E-post.

Namnet på authenticator appen som visas för användare kan konfigureras. Som standard används tenantnamnet.

Configure simple two-factor options in login authentication method

SMS- och e-postfaktorer kräver användarens kontaktinformation. Det kan anges som användaridentifierare eller som claims (phone_number och email).

Val av tvåfaktortyp

I tvåfaktorsläge föredrar FoxIDs en redan registrerad authenticator app. Om ingen authenticator app är registrerad föredras SMS framför e-post när båda är tillgängliga.

SMS tvåfaktor aktiverad och användaren har telefonnummer E-post tvåfaktor aktiverad och användaren har e-post Användaren har registrerat authenticator app Möjliga tvåfaktortyper Vald tvåfaktortyp
false false false Konfiguration av authenticator app Konfiguration av authenticator app
false false true Authenticator app Authenticator app
true false false SMS med valfri konfiguration av authenticator app efter SMS-verifiering SMS
true false true SMS och authenticator app Authenticator app
false true false E-post med valfri konfiguration av authenticator app efter e-postverifiering E-post
false true true E-post och authenticator app Authenticator app
true true false SMS och e-post med valfri konfiguration av authenticator app efter SMS- eller e-postverifiering SMS
true true true SMS, e-post och authenticator app Authenticator app

Meddela ett API när en authenticator app registreras

Inloggningsautentiseringsmetoden kan meddela din backend direkt efter att en användare har registrerat en ny authenticator app. Meddelandet är valfritt och gäller endast nya registreringar, inte senare inloggningar med authenticator appen.

Så här konfigurerar du meddelandet:

  1. Öppna fliken Authentication.
  2. Klicka på autentiseringsmetoden Login för att redigera den.
  3. Klicka på Show advanced.
  4. Gå till avsnittet Multi-factor.
  5. I tvåfaktorsläge aktiverar du Notify an API when an authenticator app is registered under de inbyggda faktoralternativen. I avancerat multifaktorsläge aktiverar du det i MFA-posten Authenticator app.
  6. Konfigurera API:ets bas-URL och API-hemlighet.

FoxIDs sparar registreringen av authenticator appen lokalt innan API:et anropas och skriver spårningen Authenticator app registration saved locally; external notification pending. API:et anropas sedan synkront. Inloggningen fortsätter endast om API:et returnerar HTTP-status 200 OK. Om anropet misslyckas eller returnerar en annan status tar FoxIDs bort den nya registreringen och visar felsidan. Befintliga registreringar ändras inte.

Den lyckade registreringen skrivs till auditloggen efter att API:et har returnerat 200 OK. Om meddelandet är inaktiverat skrivs auditposten direkt efter att den lokala registreringen har sparats.

Request till meddelande-API:et

Om den konfigurerade bas-URL:en är https://backend.example/authenticator skickar FoxIDs en HTTP POST-request till:

https://backend.example/authenticator/notification

FoxIDs Cloud anropar ditt API från IP 57.128.60.142.

IP-adress(er) kan ändras eller utökas.

Requesten använder HTTP Basic authentication:

  • Användarnamn: authenticator_app
  • Lösenord: den konfigurerade API-hemligheten

JSON-requesten innehåller:

{
  "type": "registered",
  "registration_id": "7a772286-76a2-4f17-a0f8-4e927bb1772d",
  "user_id": "e061ed17-7b44-48a8-b224-ecdb800ed5cc",
  "email": "user@example.com",
  "phone": "+4512345678",
  "username": "user@example.com"
}

type identifierar meddelandet. Den typ som stöds, registered, betyder att en ny authenticator app har registrerats. registration_id är det permanenta unika ID:t för den nya registreringen. Ditt API kan använda det som en idempotensnyckel. user_id är användarens stabila tekniska FoxIDs-ID. email, phone och username inkluderas när de har ett värde. Authenticator app-hemligheten och återställningskoden skickas aldrig.

API:et bör acceptera meddelandet och returnera 200 OK så snart det nödvändiga synkrona arbetet är klart. Ytterligare köhantering eller distribution till andra deployments är backendens ansvar.

Hantera authenticator-appregistreringar

Administratörer kan lista och ta bort en användares authenticator-appregistreringar under Internal Users → redigera användaren → AdvancedTwo-factor. Registreringar identifieras med sitt beständiga registrerings-ID och, för nya registreringar, registreringstiden. Användaren ombeds inte ange något visningsnamn vid registreringen.

För att lista, läsa, skapa, uppdatera, ta bort eller synkronisera registreringar via Control API, se Control API - användare och authenticator-appar. Guiden dokumenterar endpoints, request-resursen, säkerhetsöverväganden, felresponses och notification-beteende på ett ställe.

Multifaktorsläge (Advanced multi-factor är aktiverat)

När Advanced multi-factor är aktiverat konfigureras MFA som en ordnad lista med upp till 5 MFA-poster.

Endast en Authenticator app MFA-post kan konfigureras. En användare kan ha upp till fem registreringar av authenticator appar för posten. Alla registreringar är alternativ för att slutföra samma MFA-post: FoxIDs kontrollerar den inskickade koden mot de registrerade authenticator apparna och accepterar den första matchningen. Registreringsprompten vid inloggning skapar endast en registrering när användaren inte har någon; den lägger inte till ytterligare en registrering när en redan finns. Namnet på authenticator appen och det valfria API:et för registreringsmeddelanden konfigureras i Authenticator app MFA-posten.

Så här konfigurerar du multifaktorsläge:

  1. Öppna fliken Authentication.
  2. Klicka på inloggningsautentiseringsmetoden Login för att redigera den.
  3. Klicka på Show advanced.
  4. Gå till avsnittet Multi-factor.
  5. Aktivera Advanced multi-factor och konfigurera de ordnade MFA-posterna.

Stödda MFA-posttyper:

Konfigurationsregler:

  • Inbyggda posttyper kan bara konfigureras en gång vardera.
  • Poster av typen autentiseringsmetod kan konfigureras flera gånger, till exempel med olika profiler.
  • Posterna körs i listordning.
  • Du kan lägga till, ta bort och ordna om poster.

Configure advanced multi-factor item list with add/remove/reorder

AMR- och ACR-beteende för MFA-poster

Varje slutförd MFA-post bidrar med AMR-claimvärden till sessionen.

  • Inbyggda AMR-värden är fasta:
    • SMS: sms
    • E-post: email
    • Authenticator app och recovery code: otp
  • MFA-post av typen autentiseringsmetod:
    • En valfri anpassad AMR kan konfigureras.
    • Om AMR är tom används autentiseringsmetodens namn eller profilnamn.

Begärda ACR-värden matchas mot MFA-posternas AMR-värden i följande format:

  • urn:foxids:<amr>
  • Exempel: urn:foxids:link

urn:foxids:mfa är det generella MFA-kravet, och FoxIDs lägger till AMR mfa när MFA har slutförts.

Val och kedjning av MFA-poster

  • Om specifika ACR-värden begärs måste en av de matchande MFA-posterna slutföras.
  • Om bara generell MFA begärs kan vilken tillgänglig konfigurerad MFA-post som helst uppfylla kravet.
  • Om mer än en kvalificerad MFA-post finns och FoxIDs inte kan välja automatiskt visas ett urvalsgränssnitt.
  • Om en authenticator app är konfigurerad och redan registrerad föredrar FoxIDs den för generella MFA-begäranden.
  • Om konfiguration av authenticator app väljs och ännu inte är registrerad kan konfigurationsflödet fortsätta efter ett valt steg för SMS, e-post eller autentiseringsmetod.
  • Om bara authenticator app är konfigurerad kan konfigurationen starta direkt efter inloggning med första faktorn.

MFA-sida för autentiseringsmetod med valfri registrering av authenticator app och möjlighet att välja en annan MFA-post. MFA authentication method selection page

MFA-sida för SMS med valfri registrering av authenticator app och möjlighet att välja en annan MFA-post. MFA SMS page

MFA-sida för e-post där authenticator appen konfigureras, med möjlighet att välja en annan MFA-post. MFA Email page

MFA-sida för authenticator app med möjlighet att välja en annan MFA-post. MFA authenticator app page

Autentiseringsmetoder som används som MFA-poster

Autentiseringsmetoder (OIDC, SAML 2.0, TrackLink) kan användas som MFA-poster med följande regler:

  • MFA-specifika ACR-värden vidarebefordras inte till begäran mot MFA-autentiseringsmetoden.
  • Svaret från autentiseringsmetoden måste innehålla det AMR-värde som krävs för den valda MFA-posten.
  • AMR-värdet läggs normalt till i claim transform om den returnerade identiteten matchar den förväntade identiteten. Se exemplet på claim transform.
  • Om det AMR-värde som krävs saknas misslyckas inloggningen.
  • Efter lyckad validering lägger FoxIDs till AMR mfa i den resulterande sessionen.

Begär MFA från applikationer

Applikationer kan begära MFA i både OpenID Connect och SAML 2.0.

Om specifika ACR-värden begärs men inte är konfigurerade på MFA-poster i den valda inloggningsautentiseringsmetoden misslyckas autentiseringen.

OpenID Connect

Använd acr_values:

  • Generell MFA: acr_values=urn:foxids:mfa
  • Generell MFA och specifik metod: acr_values=urn:foxids:mfa urn:foxids:link

SAML 2.0

Använd RequestedAuthnContext.AuthnContextClassRef:

  • Generell MFA: inkludera urn:foxids:mfa
  • Generell MFA och specifik metod: inkludera urn:foxids:mfa och specifika värden som urn:foxids:link

Sessionsbeteende

FoxIDs validerar de AMR-värden som krävs mot den aktuella inloggningssessionen.

  • Ny inloggning: sessionen skapas när alla krav är uppfyllda.
  • Step-up login: en befintlig session uppdateras när alla ytterligare MFA-krav är uppfyllda.
  • Återanvändning av session: om sessionen redan uppfyller de AMR-värden som krävs återanvänder FoxIDs sessionen och begär inte inloggning igen.

Felsökning

Vanliga orsaker till MFA-fel:

  • Begärda ACR-värden är inte konfigurerade som MFA-poster i inloggningsautentiseringsmetoden.
  • En autentiseringsmetod som används som MFA returnerar inte det AMR-värde som krävs.
  • Ingen konfigurerad MFA-post är för närvarande tillgänglig för användaren, till exempel därför att telefon- eller e-postdata saknas för SMS eller e-post.