To-faktor og multi-faktor autentificering (2FA/MFA)

FoxIDs understøtter både en enkel to-faktor tilstand og en avanceret multi-faktor tilstand i login autentificeringsmetoden.

  • To-faktor tilstand: Advanced multi-factor er deaktiveret (standard).
  • Multi-faktor tilstand: Advanced multi-factor er aktiveret.

Brug to-faktor tilstand, når én ekstra faktor er nok. Brug multi-faktor tilstand, når du har brug for en ordnet MFA-kæde eller vil bruge autentificeringsmetoder som MFA-trin.

Begreber

To-faktor autentificering (2FA) og multi-faktor autentificering (MFA) tilføjer begge et eller flere verifikationstrin efter det primære login.

  • 2FA: et primært login plus én ekstra faktor.
  • MFA: et primært login plus en eller flere ordnede ekstra faktorer.

Understøttede faktorer

FoxIDs understøtter indbyggede faktorer og autentificeringsmetoder som MFA-elementer.

Faktor Type AMR-værdi
SMS-kode Indbygget sms
E-mailkode Indbygget email
Authenticator app-kode Indbygget otp
Recovery code Indbygget (authenticator app) otp
Autentificeringsmetode (OIDC, SAML 2.0, TrackLink) Konfigurerbart element Konfigureret AMR eller metode-/profilnavn, hvis feltet er tomt

Du kan bruge enhver kompatibel authenticator app, for eksempel Google Authenticator, Microsoft Authenticator, Authy og andre TOTP-apps.

Hvornår MFA kræves

MFA udløses, når ét af følgende gælder:

  • Brugeren har Require multi-factor (2FA/MFA) aktiveret.
  • Login autentificeringsmetoden har Require multi-factor (2FA/MFA) aktiveret.
  • Den kaldende applikation anmoder om MFA med ACR urn:foxids:mfa.

MFA-krav gælder i begge tilstande. Hvis Advanced multi-factor er deaktiveret, opfyldes kravet af det enkle to-faktor flow.

Hvis specifikke ACR-værdier anmodes sammen med urn:foxids:mfa, er det kun de matchende ACR-værdier, der kræves.

To-faktor tilstand (Advanced multi-factor er deaktiveret)

I denne tilstand konfigureres indbyggede to-faktor muligheder direkte:

  • Authenticator app
  • SMS
  • E-mail

Sådan konfigurerer du to-faktor tilstand:

  1. Åbn fanen Authentication.
  2. Klik på login autentificeringsmetoden Login for at redigere den.
  3. Klik Show advanced.
  4. Gå til sektionen Multi-factor.
  5. Lad Advanced multi-factor være deaktiveret og konfigurer mulighederne for Authenticator app, SMS og E-mail.

Navnet på authenticator app'en, som vises til brugerne, kan konfigureres. Som standard bruges tenantnavnet.

Configure simple two-factor options in login authentication method

SMS- og e-mailfaktorer kræver brugerens kontaktoplysninger. Det kan angives som brugeridentifikatorer eller som claims (phone_number og email).

Valg af to-faktor type

I to-faktor tilstand foretrækker FoxIDs en allerede registreret authenticator app. Hvis ingen authenticator app er registreret, foretrækkes SMS frem for e-mail, når begge dele er tilgængelige.

SMS to-faktor aktiveret og bruger har telefonnummer E-mail to-faktor aktiveret og bruger har e-mail Bruger har registreret authenticator app Mulige to-faktor typer Valgt to-faktor type
false false false Opsætning af authenticator app Opsætning af authenticator app
false false true Authenticator app Authenticator app
true false false SMS med valgfri opsætning af authenticator app efter SMS-verifikation SMS
true false true SMS og authenticator app Authenticator app
false true false E-mail med valgfri opsætning af authenticator app efter e-mailverifikation E-mail
false true true E-mail og authenticator app Authenticator app
true true false SMS og e-mail med valgfri opsætning af authenticator app efter SMS- eller e-mailverifikation SMS
true true true SMS, e-mail og authenticator app Authenticator app

Underret et API, når en authenticator-app registreres

Login-autentificeringsmetoden kan underrette din backend med det samme, efter at en bruger har registreret en ny authenticator-app. Underretningen er valgfri og gælder kun nye registreringer, ikke senere login med authenticator-appen.

Sådan konfigurerer du underretningen:

  1. Åbn fanen Authentication.
  2. Klik på autentificeringsmetoden Login for at redigere den.
  3. Klik på Show advanced.
  4. Gå til sektionen Multi-factor.
  5. Aktivér Notify an API when an authenticator app is registered under de indbyggede faktorindstillinger i to-faktor-tilstand. Aktivér den inde i MFA-elementet Authenticator app i avanceret multi-faktor-tilstand.
  6. Konfigurer API-basis-URL'en og API-hemmeligheden.

FoxIDs gemmer authenticator-app-registreringen lokalt, før API'et kaldes, og skriver trace-meddelelsen Authenticator app registration saved locally; external notification pending. API'et kaldes derefter synkront. Login fortsætter kun, hvis API'et returnerer HTTP-status 200 OK. Hvis kaldet fejler eller returnerer en anden status, fjerner FoxIDs den nye authenticator-app-registrering og viser fejlsiden. Eksisterende registreringer ændres ikke.

Den vellykkede registrering skrives i auditloggen, efter at API'et har returneret 200 OK. Hvis underretningen er deaktiveret, skrives auditten umiddelbart efter, at den lokale registrering er gemt.

Request til underretnings-API'et

Hvis den konfigurerede basis-URL er https://backend.example/authenticator, sender FoxIDs en HTTP POST-request til:

https://backend.example/authenticator/notification

FoxIDs Cloud kalder dit API fra IP 57.128.60.142.

IP-adresse(r) kan ændres eller udvides.

Requesten bruger HTTP Basic authentication:

  • Brugernavn: authenticator_app
  • Adgangskode: den konfigurerede API-hemmelighed

JSON-requesten indeholder:

{
  "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 identificerer underretningen. Den understøttede type registered betyder, at en ny authenticator-app er blevet registreret. registration_id er det permanente unikke ID for den nye registrering. Dit API kan bruge det som idempotensnøgle. user_id er brugerens stabile tekniske FoxIDs-ID. email, phone og username medtages, når de har en værdi. Authenticator-app-hemmeligheden og recovery code sendes aldrig.

API'et bør acceptere underretningen og returnere 200 OK, så snart det nødvendige synkrone arbejde er udført. Eventuel yderligere køhåndtering eller distribution til andre deployments er backendens ansvar.

Administrer authenticator-app-registreringer

Administratorer kan liste og fjerne en brugers authenticator-app-registreringer under Internal Users → rediger brugeren → AdvancedTwo-factor. Registreringer identificeres med deres permanente registrerings-ID og, for nye registreringer, registreringstidspunktet. Brugeren bliver ikke bedt om et visningsnavn under registreringen.

Hvis du vil liste, læse, oprette, opdatere, slette eller synkronisere registreringer via Control API, kan du se Control API - brugere og authenticator-apps. Vejledningen dokumenterer endpoints, request-ressourcen, sikkerhedsovervejelser, fejlresponses og notification-adfærd samlet ét sted.

Multi-faktor tilstand (Advanced multi-factor er aktiveret)

Når Advanced multi-factor er aktiveret, konfigureres MFA som en ordnet liste med op til 5 MFA-elementer.

Der kan kun konfigureres ét Authenticator app MFA-element. En bruger kan have op til fem authenticator-app-registreringer til elementet. Alle registreringer er alternativer til at gennemføre det samme MFA-element: FoxIDs kontrollerer den indsendte kode mod de registrerede authenticator-apps og accepterer det første match. Registreringsprompten under login opretter kun en authenticator-app-registrering, når brugeren ikke har nogen; den tilføjer ikke endnu en registrering, når der allerede findes en. Authenticator-app-navnet og det valgfrie API til registreringsunderretninger konfigureres inde i Authenticator app MFA-elementet.

Sådan konfigurerer du multi-faktor tilstand:

  1. Åbn fanen Authentication.
  2. Klik på login autentificeringsmetoden Login for at redigere den.
  3. Klik Show advanced.
  4. Gå til sektionen Multi-factor.
  5. Aktivér Advanced multi-factor og konfigurer de ordnede MFA-elementer.

Understøttede MFA-elementtyper:

Konfigurationsregler:

  • Indbyggede elementtyper kan kun konfigureres én gang hver.
  • Elementer af typen autentificeringsmetode kan konfigureres flere gange, for eksempel med forskellige profiler.
  • Elementerne udføres i listeorden.
  • Du kan tilføje, fjerne og omarrangere elementer.

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

MFA-elementers AMR- og ACR-adfærd

Hvert gennemført MFA-element bidrager med AMR-claimværdier til sessionen.

  • Indbyggede AMR-værdier er faste:
    • SMS: sms
    • E-mail: email
    • Authenticator app og recovery code: otp
  • MFA-element af typen autentificeringsmetode:
    • En valgfri brugerdefineret AMR kan konfigureres.
    • Hvis AMR er tom, bruges autentificeringsmetodens navn eller profilnavn.

Anmodede ACR-værdier matches mod MFA-elementernes AMR-værdier i dette format:

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

urn:foxids:mfa er det generelle MFA-krav, og FoxIDs tilføjer AMR mfa, når MFA er gennemført.

Valg og kædning af MFA-elementer

  • Hvis specifikke ACR-værdier anmodes, skal et af de matchende MFA-elementer gennemføres.
  • Hvis kun generel MFA anmodes, kan ethvert tilgængeligt konfigureret MFA-element opfylde kravet.
  • Hvis der findes mere end ét kvalificeret MFA-element, og FoxIDs ikke kan vælge automatisk, vises et valg-UI.
  • Hvis en authenticator app er konfigureret og allerede registreret, foretrækker FoxIDs den ved generelle MFA-anmodninger.
  • Hvis opsætning af authenticator app vælges og endnu ikke er registreret, kan opsætningsflowet fortsætte efter et valgt SMS-, e-mail- eller autentificeringsmetodetrin.
  • Hvis kun authenticator app er konfigureret, kan opsætningen starte direkte efter første-faktor login.

MFA-side for autentificeringsmetode med valgfri registrering af authenticator app og mulighed for at vælge et andet MFA-element. MFA authentication method selection page

MFA SMS-side med valgfri registrering af authenticator app og mulighed for at vælge et andet MFA-element. MFA SMS page

MFA e-mailside, hvor authenticator app'en sættes op, med mulighed for at vælge et andet MFA-element. MFA Email page

MFA-side for authenticator app med mulighed for at vælge et andet MFA-element. MFA authenticator app page

Autentificeringsmetoder brugt som MFA-elementer

Autentificeringsmetoder (OIDC, SAML 2.0, TrackLink) kan bruges som MFA-elementer med disse regler:

  • MFA-specifikke ACR-værdier videresendes ikke til anmodningen til MFA-autentificeringsmetoden.
  • Svaret fra autentificeringsmetoden skal indeholde den krævede AMR-værdi for det valgte MFA-element.
  • AMR-værdien tilføjes normalt i claim transform, hvis den returnerede identitet matcher den forventede identitet. Se eksemplet på claim transform.
  • Hvis den krævede AMR-værdi mangler, fejler login.
  • Efter vellykket validering tilføjer FoxIDs AMR mfa til den resulterende session.

Anmod om MFA fra applikationer

Applikationer kan anmode om MFA i både OpenID Connect og SAML 2.0.

Hvis specifikke ACR-værdier anmodes, men ikke er konfigureret på MFA-elementer i den valgte login autentificeringsmetode, fejler autentificeringen.

OpenID Connect

Brug acr_values:

  • Generel MFA: acr_values=urn:foxids:mfa
  • Generel MFA og specifik metode: acr_values=urn:foxids:mfa urn:foxids:link

SAML 2.0

Brug RequestedAuthnContext.AuthnContextClassRef:

  • Generel MFA: inkluder urn:foxids:mfa
  • Generel MFA og specifik metode: inkluder urn:foxids:mfa og specifikke værdier som urn:foxids:link

Sessionsadfærd

FoxIDs validerer krævede AMR-værdier mod den aktuelle loginsession.

  • Nyt login: sessionen oprettes, når alle krav er opfyldt.
  • Step-up login: en eksisterende session opdateres, når alle yderligere MFA-krav er opfyldt.
  • Genbrug af session: hvis sessionen allerede opfylder de krævede AMR-værdier, genbruger FoxIDs sessionen og beder ikke om login igen.

Fejlfinding

Almindelige årsager til MFA-fejl:

  • Anmodede ACR-værdier er ikke konfigureret som MFA-elementer i login autentificeringsmetoden.
  • En autentificeringsmetode, der bruges som MFA, returnerer ikke den krævede AMR-værdi.
  • Intet konfigureret MFA-element er aktuelt tilgængeligt for brugeren, for eksempel fordi telefon- eller e-maildata mangler til SMS eller e-mail.