Appinloggningsflöde med Microsofts identitetsplattform

I det här avsnittet beskrivs det grundläggande inloggningsflödet för webb-, skrivbords- och mobilappar med hjälp av Microsofts identitetsplattform. Mer information om inloggningsscenarier som stöds av Microsofts identitetsplattform finns i Autentiseringsflöden och appscenarier.

Inloggningsflöde för webbappar

När en användare navigerar i webbläsaren till en webbapp händer följande:

  • Webbappen avgör om användaren autentiseras.
  • Om användaren inte autentiseras delegerar webbappen till Microsoft Entra-ID för att logga in användaren. Inloggningen är kompatibel med organisationens princip, vilket kan innebära att användaren uppmanas att ange sina autentiseringsuppgifter med hjälp av multifaktorautentisering (kallas ibland tvåfaktorautentisering eller 2FA) eller inte använder ett lösenord alls (till exempel med Windows Hello).
  • Användaren uppmanas att samtycka till den åtkomst som klientappen behöver. Därför måste klientappar registreras med Microsoft Entra-ID så att Microsofts identitetsplattform kan leverera token som representerar den åtkomst som användaren har samtyckt till.

När användaren har autentiserats:

  • Microsofts identitetsplattform skickar en token till webbappen.
  • En cookie sparas, associerad med en Microsoft Entra-domän, som innehåller användarens identitet i webbläsarens cookie-jar. Nästa gång en app använder webbläsaren för att navigera till Microsofts identitetsplattform auktoriseringsslutpunkt, visar webbläsaren cookien så att användaren inte behöver logga in igen. Detta är också det sätt på vilket enkel inloggning uppnås. Cookien produceras av Microsoft Entra ID och kan endast förstås av Microsoft Entra ID.
  • Webbappen verifierar sedan token. Om valideringen lyckas visar webbappen den skyddade sidan och sparar en sessionscookie i webbläsarens cookie-jar. När användaren navigerar till en annan sida vet webbappen att användaren autentiseras baserat på sessionscookien.

Följande sekvensdiagram sammanfattar den här interaktionen:

web app authentication process

Hur en webbapp avgör om användaren autentiseras

Webbappsutvecklare kan ange om alla eller endast vissa sidor kräver autentisering. I ASP.NET/ASP.NET Core görs detta till exempel genom att lägga till [Authorize] attributet i kontrollantåtgärderna.

Det här attributet gör att ASP.NET kontrollerar om det finns en sessionscookie som innehåller användarens identitet. Om det inte finns någon cookie omdirigerar ASP.NET autentiseringen till den angivna identitetsprovidern. Om identitetsprovidern är Microsoft Entra-ID omdirigerar webbappen autentiseringen till https://login.microsoftonline.com, som visar en inloggningsdialogruta.

Hur en webbapp delegerar inloggning till Microsofts identitetsplattform och hämtar en token

Användarautentisering sker via webbläsaren. OpenID-protokollet använder http-standardprotokollmeddelanden.

  • Webbappen skickar en HTTP 302 (omdirigering) till webbläsaren för att använda Microsofts identitetsplattform.
  • När användaren autentiseras skickar Microsofts identitetsplattform token till webbappen med hjälp av en omdirigering via webbläsaren.
  • Omdirigeringen tillhandahålls av webbappen i form av en omdirigerings-URI. Den här omdirigerings-URI:n är registrerad med Microsoft Entra-programobjektet. Det kan finnas flera omdirigerings-URI:er eftersom programmet kan distribueras på flera URL:er. Webbappen måste därför också ange den omdirigerings-URI som ska användas.
  • Microsoft Entra-ID verifierar att omdirigerings-URI:n som skickas av webbappen är en av de registrerade omdirigerings-URI:erna för appen.

Inloggningsflöde för skrivbords- och mobilappar

Flödet som beskrivs ovan gäller, med små skillnader, för stationära och mobila program.

Skrivbords- och mobilprogram kan använda en inbäddad webbkontroll eller en systemwebbläsare för autentisering. Följande diagram visar hur en skrivbords- eller mobilapp använder Microsoft Authentication Library (MSAL) för att hämta åtkomsttoken och anropa webb-API:er.

Desktop app how it appears to be

MSAL använder en webbläsare för att hämta token. Precis som med webbappar delegeras autentisering till Microsofts identitetsplattform.

Eftersom Microsoft Entra ID sparar samma identitetscookie i webbläsaren som för webbappar, får den omedelbart enkel inloggning med motsvarande webbapp om den interna appen eller mobilappen använder systemwebbläsaren.

Som standard använder MSAL systemwebbläsaren. Undantaget är .NET Framework-skrivbordsprogram där en inbäddad kontroll används för att ge en mer integrerad användarupplevelse.

Nästa steg

För andra ämnen som omfattar grunderna för autentisering och auktorisering:

Om du vill veta mer om appinloggningsflödet: