What is mobile authentication?

Native Autentifikation: Revolutionér Mobilapps

20/11/2022

Rating: 4.28 (10032 votes)

I dagens digitale verden er mobilapplikationer en uundværlig del af vores hverdag. Succesen for en mobilapp afhænger ofte af den første interaktion, en bruger har med den – især login- og registreringsprocessen. En friktionsfri og sikker autentifikationsoplevelse er afgørende for brugerfastholdelse og tillid. Traditionelle browser-delegerede autentifikationsmetoder kan dog ofte skabe en brudt brugeroplevelse, hvor brugere ledes væk fra appen for at logge ind, hvilket forstyrrer flowet og kompromitterer brandingen. Dette er, hvor native autentifikation kommer ind i billedet og tilbyder en overlegen løsning, der giver mobilappudviklere fuld kontrol og fleksibilitet.

Why do mobile app developers need native authentication?
Indholdsfortegnelse

Hvad er mobilautentifikation?

Mobilautentifikation er en sikkerhedsmetode, der bruges til at verificere en brugers identitet via mobile enheder og mobilapps. Den omfatter en eller flere autentifikationsmetoder for at give sikker adgang til en specifik app, ressource eller tjeneste. Målet er at sikre, at kun autoriserede brugere får adgang, samtidig med at oplevelsen forbliver så gnidningsfri som muligt. Der findes forskellige metoder, men fokus her er på at integrere autentifikationen direkte i appen.

Hvorfor er native autentifikation afgørende for mobiludviklere?

Autentifikationsoplevelser er porten til forbrugerapplikationer. Friktion under registrering eller login har en direkte indvirkning på brugeronboarding, fastholdelse og i sidste ende virksomhedens indtægter. Disse processer skal være glatte, intuitive og i perfekt overensstemmelse med dit brands identitet for at indgyde forbrugertillid. Den standard, browser-delegerede mobilapp-loginproces får ofte brugere til at opleve et forstyrrende spring under autentifikationen. De føres til en systembrowser for autentifikation for derefter at blive omdirigeret tilbage til appen, når login er afsluttet. Dette fører til en udvandet oplevelse, og brandingen kan kompromitteres. Mobilappudviklere søger derfor ofte løsninger, der giver dem større kontrol over brugergrænsefladen og oplevelsen.

Skab problemfri, pixel-perfekte autentifikationsoplevelser

Native autentifikation giver dig fuld kontrol over designet af login-oplevelsen. Det giver dig mulighed for at skabe fantastiske, pixel-perfekte autentifikationsskærme, der problemfrit integreres i dine apps, i stedet for at skulle stole på browserbaserede løsninger. Du kan bygge rige, mobil-først registrerings- og login-rejser ved hjælp af enten API'et eller Microsoft Authentication Library (MSAL) for Android og iOS. Denne API-centrerede tilgang tilbyder omfattende fleksibilitet i design samt evnen til at skabe meget tilpassede interaktioner og flows. Alt dette er essentielt for at skabe fantastiske og behagelige forbruger mobilapplikationer.

Autentifikation gjort simpelt, mens du fokuserer på at bygge din app

MSAL SDK'et er designet med nogle nøgleprincipper for at forenkle processen med at tilføje autentifikation til din app:

  • Ingen identitetsekspertise krævet: SDK'et tilbyder scenarie-baserede, intuitive grænseflader, der eliminerer behovet for dybdegående identitetsviden. Grænsefladerne abstraherer detaljerne i identitetsprotokollen og tager automatisk hånd om caching, session og tokenstyring, hvilket tilbyder en sikker og pålidelig måde at tilføje autentifikation på.
  • Opdagelig via IDE: Det native autentifikations-SDK udnytter fuldt ud IDE-autoudfyldninger, hvilket gør integrationen til en leg med forbedret udviklerproduktivitet.
  • Tilstandsmaskiner begrænser udviklerfejl: Kodningsfejl reduceres ved at modellere SDK-flows som en tilstandsmaskine. Tilstandene efterligner nøje den faktiske brugerlogin-flow. Designet af tilstandsmaskinen begrænser, hvilke handlinger en udvikler kan implementere i hver tilstand. For eksempel, hvis en engangskode er sendt, og tilstandsmaskinen nu er i en tilstand kaldet CodeRequired, kan udviklere kun kalde metoder, der giver mening for denne tilstand – submitCode() og resendCode(). IDE'en vil automatisk begrænse alle andre metoder i denne tilstand, hvilket effektivt minimerer potentialet for udviklerfejl og abstraherer kompleksiteten af protokolorkestrering.
  • Sikker fra grunden: Det Native Autentifikations-SDK og det underliggende API er designet fra grunden med sikkerhed for øje. Microsoft Identity-standardteamet og andre brancheaktører arbejder inden for IETF for at definere en ny standard, der gør det muligt for førsteparts-klienter at understøtte native interaktionsmønstre. API'et og SDK'et er baseret på dette og gør det muligt for native apps at autentificere sikkert ved at udnytte platformsikkerhedsfunktioner som identitetsbeskyttelse og andre, der endnu ikke er implementeret, såsom betinget adgang og MFA.

Native Autentifikation vs. Browser-Delegeret Autentifikation

Når det kommer til implementering af autentifikation for mobilapps på External ID, har du grundlæggende to muligheder:

  1. Fuldstændig brugerdefineret SDK-baseret native autentifikation.
  2. Microsoft-hostet browser-delegeret autentifikation.

I den browser-delegerede mobilapp-loginproces oplever brugere ofte et forstyrrende spring under autentifikationen. De føres til en browser for autentifikation og omdirigeres derefter tilbage til appen, når login er afsluttet. Dette fører til en udvandet oplevelse, og brandingen kan kompromitteres. Selvom browser-delegerede metoder kan reducere angrebsvektorer og understøtte single sign-on (SSO), lider de under begrænset UI-tilpasning og en dårlig brugeroplevelse. Native autentifikation giver dig derimod fuld kontrol over brugergrænsefladen og oplevelsen, hvilket sikrer en problemfri integration og en stærkere brandidentitet.

Why do mobile app developers need native authentication?
FunktionNative AutentifikationBrowser-Delegeret Autentifikation
BrugeroplevelseProblemfri, integreret direkte i appenAfbrydende, omdirigering til ekstern browser
UI/UX KontrolFuld kontrol, pixel-perfekt tilpasningBegrænset tilpasning af UI
Brand IntegrationSømløs, styrker brandidentitetenKompromitteret, kan udvande brandet
Onboarding & FastholdelseForbedret grundet glat oplevelsePotentielt forringet grundet friktion
SikkerhedHøj, designet fra grunden med sikkerhedGod, men oplevelsen kan føles mindre sikker

Understøttede Autentifikationsmetoder

Native autentifikation understøtter i øjeblikket lokale identitetsudbydere for to login-metoder:

  • E-mail med engangskode (OTP) login: En hurtig og sikker metode, hvor en unik kode sendes til brugerens e-mail for verificering.
  • E-mail og adgangskode login med support for selvbetjent nulstilling af adgangskode (SSPR): Den klassiske metode, suppleret med muligheden for, at brugere selv kan nulstille deres adgangskode.

Implementering af Native Autentifikation: En Trin-for-Trin Guide

At implementere native autentifikation kræver en række specifikke trin for at sikre, at din applikation kan kommunikere korrekt med identitetstjenesten. Følgende guide beskriver processen i detaljer.

1. Registrer applikation i den eksterne tenant

For at gøre din applikation i stand til at logge brugere ind med Microsoft Entra, skal Microsoft Entra External ID gøres opmærksom på den applikation, du opretter. Appregistreringen etablerer et tillidsforhold mellem appen og Microsoft Entra. Når du registrerer en applikation, genererer External ID en unik identifikator kendt som et Application (client) ID, en værdi der bruges til at identificere din app, når du opretter autentifikationsanmodninger. For Native Autentifikation bruger vi en ekstern tenant, ikke en workforce tenant. Du skal have en ekstern tenant. Hvis du ikke allerede har en, kan du tilmelde dig en gratis prøveperiode. Følgende trin viser dig, hvordan du registrerer din app i Microsoft Entra admin center:

  1. Log ind på Microsoft Entra admin center som mindst en Application Developer. Hvis du har adgang til flere tenants, skal du bruge 'Indstillinger'-ikonet i topmenuen for at skifte til din eksterne tenant fra 'Mapper + abonnementer'-menuen.
  2. Naviger til 'Identitet' > 'Applikationer' > 'Appregistreringer'.
  3. Vælg '+ Ny registrering'.
  4. På den side, der vises, 'Registrer en applikation'; Indtast et meningsfuldt applikationsnavn, der vises for appens brugere, for eksempel ciam-client-app.
  5. Under 'Understøttede kontotyper', vælg 'Konti i dette organisationsbibliotek alene'.
  6. Vælg 'Registrer'.
  7. Applikationens 'Oversigt'-rude vises ved succesfuld registrering. Noter 'Application (client) ID' for at bruge det i din applikationskildekode.

2. Aktiver offentlig klient og native autentifikationsflows

Efter app-registreringen skal du eksplicit aktivere de nødvendige autentifikationsflows for din mobile applikation i Microsoft Entra admin center:

  1. I Microsoft Entra admin center, naviger til 'Applikationer' > 'Appregistreringer' og vælg din app.
  2. Naviger til 'Autentifikation' og vælg 'Indstillinger'-fanen.
  3. Vælg 'Tillad native autentifikation' og 'Tillad offentlig klientflow' felterne. Dette er afgørende for, at din app kan initiere de native autentifikationsprocesser.

3. Tildel administrator-samtykke

Når du har registreret din applikation, tildeles den User.Read-tilladelsen. Da tenanten er en ekstern tenant, kan kundebrugerne selv dog ikke give samtykke til denne tilladelse. Du som administrator skal give samtykke til denne tilladelse på vegne af alle brugere i tenanten:

  1. Fra 'Appregistreringer'-siden, vælg den applikation, du oprettede (f.eks. ciam-client-app) for at åbne dens 'Oversigt'-side.
  2. Under 'Administrer', vælg 'API-tilladelser'.
  3. Vælg 'Tildel administrator-samtykke for <dit tenantnavn>', og vælg derefter 'Ja'.
  4. Vælg 'Opdater', og verificer derefter, at 'Tildelt for <dit tenantnavn>' vises under 'Status' for tilladelsen.

4. Opret brugerflow i den eksterne tenant

Brugerflows definerer den oplevelse, brugere får under registrering og login. Følg disse trin for at oprette et brugerflow:

  1. Log ind på Microsoft Entra admin center som mindst en Application Developer. Hvis du har adgang til flere tenants, skal du sørge for at bruge den mappe, der indeholder din eksterne tenant:
    • Vælg 'Mapper + abonnementer'-ikonet i værktøjslinjen.
    • På 'Portalindstillinger | Mapper + abonnementer'-siden, find din eksterne tenantmappe i 'Mappenavn'-listen, og vælg derefter 'Skift'.
  2. På sidemenuen, vælg 'Identitet'.
  3. Vælg 'Eksterne identiteter' > 'Brugerflows'.
  4. Vælg '+ Nyt brugerflow'.
  5. På 'Opret'-siden:
    • Indtast et navn for brugerflowet, f.eks. SignInSignUpSample.
    • I listen over 'Identitetsudbydere', vælg 'E-mailkonti'. Denne identitetsudbyder giver brugere mulighed for at logge ind eller registrere sig ved hjælp af deres e-mailadresse.
    • Under 'E-mailkonti', kan du vælge en af de to muligheder. For denne vejledning, vælg 'E-mail engangskode'.
      • E-mail med adgangskode: Giver nye brugere mulighed for at registrere sig og logge ind ved hjælp af en e-mailadresse som login-navn og en adgangskode som deres første faktor legitimationsoplysning.
      • E-mail engangskode: Giver nye brugere mulighed for at registrere sig og logge ind ved hjæng af en e-mailadresse som login-navn og e-mail engangskode som deres første faktor legitimationsoplysning. For at denne mulighed skal være tilgængelig på brugerflowniveau, skal du sørge for at aktivere e-mail engangskode (OTP) på tenant-niveau (vælg 'Alle Identitetsudbydere', og vælg derefter for 'E-mail Engangskode' 'Konfigureret', vælg 'Ja'-muligheden, og vælg derefter 'Gem').
    • Under 'Brugerattributter', kan du vælge de attributter, du vil indsamle fra brugeren ved registrering. For denne guide, vælg 'Land/Region' og 'By'.
  6. Vælg 'Opret'. Det nye brugerflow vises i 'Brugerflows'-listen.

5. Knyt applikationen til brugerflowet

For at kundebrugerne kan se registrerings- eller login-oplevelsen, når de bruger din app, skal du knytte din app til et brugerflow. Selvom mange applikationer kan knyttes til dit brugerflow, kan en enkelt applikation kun knyttes til ét brugerflow.

  1. På sidemenuen, vælg 'Identitet'.
  2. Vælg 'Eksterne Identiteter', derefter 'Brugerflows'.
  3. På 'Brugerflows'-siden, vælg det 'Brugerflow-navn', du oprettede tidligere, f.eks. SignInSignUpSample.
  4. Under 'Brug', vælg 'Applikationer'.
  5. Vælg 'Tilføj applikation'.
  6. Vælg applikationen fra listen, f.eks. ciam-client-app, eller brug søgefeltet til at finde applikationen, og vælg den derefter.
  7. Vælg 'Vælg'.

6. Opdater din konfigurationskode

Du kan bygge apps, der bruger native autentifikation, ved hjælp af de native autentifikations-API'er eller Microsoft Authentication Library (MSAL) SDK for Android og iOS/macOS. Hvor det er muligt, anbefales det at bruge MSAL til at tilføje native autentifikation til dine apps.

Nedenfor er de understøttede sprog og frameworks:

  • Android (Kotlin, Java)
  • iOS/macOS (Swift, Objective-C)

For andre sprog og platforme kan du bruge det native autentifikations-API. Næste skridt er at opdatere din applikations konfigurationskode for at understøtte native autentifikationsflows for Android eller iOS/macOS. For at gøre dette skal du tilføje feltet challenge type til din konfiguration. Challenge types er en liste over værdier, som appen bruger til at informere Microsoft Entra om den autentifikationsmetode, den understøtter.

Vi har nedenstående kodeeksempler for Android og iOS/macOS. Klon kodeeksemplet for det sprog eller den platform, du vælger. Find pladsholderne Enter_the_Application_Id_Here og Enter_the_Tenant_Subdomain i konfigurationsfilen, der er fremhævet i tabellen nedenfor, og erstat dem med 'Application (client) ID' og 'Directory (tenant) subdomain'. Disse detaljer kan findes fra Microsoft Entra admin center > 'Applikationer' > 'Appregistreringer', og vælg derefter din app.

How do I implement authentication for mobile apps on external ID?
When it comes to implementing authentication for mobile apps on External ID, you have two options: Fully custom SDK based native authentication. Microsoft-hosted browser-delegated authentication. In the browser-delegated mobile app sign-in process, users often experience a disruptive jump during authentication.
Sprog/PlatformKodeeksempel (GitHub)Konfigurationsfil, der skal redigeres
Android (Kotlin)https://github.com/Azure-Samples/ms-identity-ciam-native-auth-android-sampleapp/src/main/res/raw/native_auth_sample_app_config.json (Åbn på Android Studio)
iOS (Swift)https://github.com/Azure-Samples/ms-identity-ciam-native-auth-ios-sample.gitNativeAuthSampleApp/Configuration.swift (Åbn på Xcode)
macOS (Swift)https://github.com/Azure-Samples/ms-identity-ciam-native-auth-macos-sample.gitNativeAuthSampleAppMacOS/Configuration.swift (Åbn på Xcode)

7. Kør og test eksemplet

Efter at have konfigureret din applikation og opdateret koden, er det tid til at teste din implementering.

Android mobilapplikation

For at bygge og køre din app, følg disse trin:

  1. I Android Studio-værktøjslinjen, vælg din app fra menuen for kørekonfigurationer.
  2. I mål-enhedsmenuen, vælg den enhed, du vil køre din app på. Hvis du ikke har nogen enheder konfigureret, skal du enten oprette en Android Virtual Device for at bruge Android Emulator eller tilslutte en fysisk Android-enhed.
  3. Vælg 'Kør'-knappen. Appen åbner 'E-mail & OTP'-skærmen.

iOS/macOS applikation

For at bygge og køre din kode, vælg 'Kør' fra 'Produkt'-menuen i Xcode. Efter en succesfuld bygning vil Xcode starte eksempelappen i Simulator.

Tillykke, du har succesfuldt konfigureret Microsoft Entra External ID native autentifikation på en Android- eller iOS/macOS-app!

Ofte Stillede Spørgsmål (FAQ)

Hvad er forskellen mellem native og browser-delegeret autentifikation?

Native autentifikation giver dig fuld kontrol over brugergrænsefladen og oplevelsen direkte inde i din mobilapp, hvilket skaber et problemfrit og brand-integreret login-flow. Browser-delegeret autentifikation omdirigerer derimod brugeren til en ekstern webbrowser for at logge ind, hvilket kan føre til en afbrudt og mindre tilpasset brugeroplevelse. Mens browser-delegeret kan understøtte SSO, er native overlegen i UI/UX og brandintegration.

Hvilke autentifikationsmetoder understøtter native autentifikation?

Native autentifikation understøtter i øjeblikket lokale identitetsudbydere med to primære login-metoder: e-mail med engangskode (OTP) login og e-mail og adgangskode login, sidstnævnte med understøttelse af selvbetjent nulstilling af adgangskode (SSPR).

Why do mobile app developers need native authentication?
Consumer mobile app developers often look for solutions that give them greater control over the user interface and experience. Native Authentication empowers you to take complete control over the design of the login experience.

Skal jeg have dybdegående identitetsekspertise for at implementere native autentifikation?

Nej, det er ikke nødvendigt. Microsoft Authentication Library (MSAL) SDK'et er designet med intuitive, scenarie-baserede grænseflader, der abstraherer de komplekse detaljer om identitetsprotokoller. Det håndterer automatisk opgaver som caching, session- og tokenstyring, hvilket forenkler autentifikationsprocessen for udviklere og minimerer behovet for dyb identitetsviden.

Hvorfor er en ekstern tenant nødvendig for native autentifikation?

Native autentifikation anvender en ekstern tenant (i modsætning til en workforce tenant) for at administrere brugerkonti og -identiteter for forbrugerapplikationer. Dette giver en klar adskillelse mellem dine kundebrugere og interne medarbejdere, hvilket sikrer, at forbrugeridentiteter håndteres og sikres i et dedikeret miljø, der er optimeret til eksterne brugere.

Kan jeg tilpasse login-skærmene fuldstændigt med native autentifikation?

Absolut! En af de største fordele ved native autentifikation er, at det giver dig fuld og granulær kontrol over designet af login-oplevelsen. Du kan skabe pixel-perfekte, brand-tilpassede autentifikationsflows, der er sømløst integreret i din mobilapp. Dette omfatter designelementer, placering af logoer og layout, hvilket sikrer, at brugeroplevelsen er fuldstændig i tråd med din apps æstetik og brandidentitet.

Konklusion

Native autentifikation repræsenterer et betydeligt fremskridt for mobilappudviklere, der søger at levere en overlegen og sikker brugeroplevelse. Ved at give fuld kontrol over login-flowet direkte i appen, elimineres den friktion, der er forbundet med browser-delegerede metoder. Dette fører ikke kun til en mere strømlinet og brand-tilpasset interaktion, men også til forbedret brugeronboarding og fastholdelse. Med værktøjer som Microsoft Entra External ID og MSAL SDK er implementeringen blevet forenklet, hvilket gør det muligt for udviklere at fokusere på at bygge innovative applikationer, velvidende at autentifikationen er robust og brugervenlig. Det er en investering i både brugertillid og appens langsigtede succes.

Hvis du vil læse andre artikler, der ligner Native Autentifikation: Revolutionér Mobilapps, kan du besøge kategorien Teknologi.

Go up