Autentisering och auktorisering i Azure App Service för mobilappar

Den här artikeln beskriver hur autentisering och auktorisering fungerar när du utvecklar interna mobilappar med en App Service-serverdel. App Service tillhandahåller integrerad autentisering och auktorisering, så att dina mobilappar kan logga in användare utan att ändra någon kod i App Service. Det är ett enkelt sätt att skydda ditt program och arbeta med data per användare.

Varning

Den här artikeln beskriver v4.2.0 i Azure Mobile Apps Client SDK. Den aktuella versionen använder en ny autentiseringsmekanism och stöder inte Azure App Service-autentisering och auktorisering på samma sätt.

Information om hur autentisering och auktorisering fungerar i App Service finns i Autentisering och auktorisering i Azure App Service.

Autentisering med provider-SDK

När allt har konfigurerats i App Service kan du ändra mobila klienter för att logga in med App Service. Det finns två metoder här:

  • Använd ett SDK som en viss identitetsprovider publicerar för att upprätta identitet och sedan få åtkomst till App Service.
  • Använd en enda kodrad så att Mobile Apps-klient-SDK:et kan logga in användare.

Dricks

De flesta program bör använda en provider-SDK för att få en mer konsekvent upplevelse när användare loggar in, för att använda stöd för tokenuppdatering och för att få andra fördelar som providern anger.

När du använder en provider-SDK kan användarna logga in på en upplevelse som integreras närmare med operativsystemet som appen körs på. Den här metoden ger dig också en providertoken och viss användarinformation på klienten, vilket gör det mycket enklare att använda graf-API:er och anpassa användarupplevelsen. Den här metoden kallas "klientflöde" eller "klientstyrt flöde" eftersom kod på klienten loggar in användare.

När en providertoken har hämtats måste den skickas till App Service för validering. Azure App Service validerar token. Tjänsten skapar sedan en ny token för klienten. Mobile Apps klient-SDK har hjälpmetoder för att hantera det här utbytet och automatiskt koppla token till alla begäranden till programmets serverdel. Du kan också behålla en referens till providertoken.

Kommentar

Vissa plattformar, till exempel Windows (WPF), fungerar ENDAST med ett klientstyrt flöde. Andra fungerar lika bra med både server- och klientflöde. Om plattformen bara fungerar med klientstyrt flöde visar snabbstartsguiden detta.

Mer information om autentiseringsflödet finns i autentiseringsflödet för App Service.

Autentisering utan provider-SDK

Om du inte vill konfigurera en provider-SDK kan du låta Azure App Service hantera inloggningen åt dig. Azure Mobile Apps-klient-SDK öppnar en webbvy för valfri leverantör och loggar in användaren. Den här metoden kallas "serverflöde" eller "serverstyrt flöde" eftersom servern hanterar processen som loggar in användare. Klient-SDK:et tar aldrig emot providertoken.

Skicka en token från det klientriktade flödet

När du använder det klientriktade flödet hämtar du först relevant information som Azure App Service behöver för att verifiera token. I de flesta fall är token en åtkomsttoken. Mer information finns i Azure App Service-dokumentationen.

Du kan sedan skapa rätt JSON-objekt. Om du till exempel använder MSAL för att utföra ett klientstyrt flöde på .NET i ett WPF-program kan du använda följande kod:

var requestBody = new JObject(new JProperty("access_token", authResult.AccessToken));
var userInfo = await mobileClient.login("aad", requestBody);

Begärandetexten måste matcha de förväntningar som anges i dokumentationen.