Snabbstart: Logga in användare i en exempelmobilapp
Artikel
Innan du börjar, använd väljaren Välj en klienttyp högst upp på den här sidan för att välja typ av klient. Microsoft Entra ID tillhandahåller två klientkonfigurationer, personal och externa. En klientkonfiguration för personal är avsedd för dina anställda, interna appar och andra organisationsresurser. En extern användare är avsedd för kundeinriktade appar.
I den här snabbstarten laddar du ned och kör ett kodexempel som visar hur ett Android-program kan logga in användare och få en åtkomsttoken för att anropa Microsoft Graph API.
Program måste representeras av ett appobjekt i Microsoft Entra-ID så att Microsofts identitetsplattform kan tillhandahålla token till ditt program.
I den här snabbstarten laddar du ned och kör ett kodexempel som visar hur ett inbyggt iOS- eller macOS-program kan logga in användare och få en åtkomsttoken för att anropa Microsoft Graph API.
Snabbstarten gäller för både iOS- och macOS-appar. Vissa steg behövs endast för iOS-appar och anges som sådana.
Om du har åtkomst till flera klienter använder du ikonen Inställningar på den översta menyn för att växla till klientorganisationen där du vill registrera programmet från menyn Kataloger + prenumerationer.
Navigera till Identity>Applications>App registrations.
Välj Ny registrering.
Ange ett Namn för din applikation. Användare av din app kan se det här namnet och du kan ändra det senare.
För kontotyper som stödsväljer du Konton i valfri organisationskatalog (Alla Microsoft Entra-kataloger – Multitenant) och personliga Microsoft-konton (t.ex. Skype, Xbox). Om du vill ha information om olika kontotyper väljer du alternativet Hjälp mig att välja.
Välj Registrera.
Under Hanteraväljer du Authentication>Lägg till en plattform>Android.
Ange projektets paketnamn baserat på exempeltypen som du laddade ned ovan.
I avsnittet Signature hash i fönstret Konfigurera din Android-app väljer du Generera en utvecklingssignaturhash. och kopiera KeyTool-kommandot till kommandoraden.
KeyTool.exe installeras som en del av Java Development Kit (JDK). Du måste också installera OpenSSL-verktyget för att köra KeyTool-kommandot. För mer information, se Android-dokumentationen om hur du genererar en nyckel.
Ange hashen Signature som genererats av KeyTool.
Välj Konfigurera och spara MSAL-konfiguration som visas i fönstret Android-konfiguration så att du kan ange den när du konfigurerar appen senare.
Om du har åtkomst till flera klienter använder du ikonen Inställningar på den översta menyn för att växla till klientorganisationen där du vill registrera programmet från menyn Kataloger + prenumerationer.
Bläddra till Identity>Applications>App registrations.
Välj Ny registrering.
Ange ett Namn för din applikation. Användare av din app kan se det här namnet och du kan ändra det senare.
Välj Registrera.
Under Hanteraväljer du Autentisering>Lägg till plattform>iOS.
Ange Bundle Identifier för ditt program. Paketidentifieraren är en unik sträng som unikt identifierar ditt program, till exempel com.<yourname>.identitysample.MSALMacOS. Anteckna det värde som du använder. Observera att iOS-konfigurationen även gäller för macOS-program.
Välj Konfigurera och spara MSAL-konfigurationsdetaljerna för senare användning i denna snabbstart.
Välj din emulator eller fysiska enhet från Android Studio:s tillgängliga enheter listrutan och kör appen.
Exempelappen startar på skärmen läge för enskilt konto. Ett standardomfång, user.read, tillhandahålls som standard, som används när du läser dina egna profildata under Microsoft Graph API-anropet. URL:en för Microsoft Graph API-anropet tillhandahålls som standard. Du kan ändra båda om du vill.
Använd appmenyn för att ändra mellan enstaka och flera kontolägen.
Logga in med ett arbets- eller hemkonto i läget för ett enskilt konto:
Välj Hämta grafdata interaktivt för att fråga användaren om deras autentiseringsuppgifter. Du ser utdata från anropet till Microsoft Graph API längst ned på skärmen.
När du har loggat in väljer du Hämta grafdata tyst för att göra ett anrop till Microsoft Graph API utan att fråga användaren om autentiseringsuppgifter igen. Du ser utdata från anropet till Microsoft Graph API längst ned på skärmen.
I flera kontolägen kan du upprepa samma steg. Dessutom kan du ta bort det inloggade kontot, vilket även tar bort cachelagrade token för det kontot.
Om du har valt Alternativ 1 ovan kan du hoppa över de här stegen.
Öppna projektet i XCode.
Redigera ViewController.swift och ersätt raden som börjar med "let kClientID" med följande kodfragment. Kom ihåg att uppdatera värdet för kClientID med det clientID som du sparade när du registrerade appen tidigare i den här snabbstarten:
let kClientID = "Enter_the_Application_Id_Here"
Om du skapar en app för nationella Microsoft Entra-molnersätter du raden som börjar med "let kGraphEndpoint" och "let kAuthority" med rätt slutpunkter. Använd standardvärden för global åtkomst:
let kGraphEndpoint = "https://graph.microsoft.com/"
let kAuthority = "https://login.microsoftonline.com/common"
Andra slutpunkter är dokumenterade här. Om du till exempel vill köra snabbstarten med Microsoft Entra Tyskland använder du följande:
let kGraphEndpoint = "https://graph.microsoft.de/"
let kAuthority = "https://login.microsoftonline.de/common"
Öppna projektinställningarna. I avsnittet Identity anger du Bundle Identifier.
Högerklicka på Info.plist och välj Öppna som>källkod.
Under rotnoden för diktering ersätter du Enter_the_bundle_Id_Here med paket-ID som du använde i portalen. Observera msauth. prefixet i strängen.
Gå vidare till Android-självstudien där du skapar en Android-app som hämtar en åtkomsttoken från Microsofts identitetsplattform och använder den för att anropa Microsoft Graph API.
Gå vidare till den stegvisa självstudien där du skapar en iOS- eller macOS-app som hämtar en åtkomsttoken från Microsofts identitetsplattform och använder den för att anropa Microsoft Graph API.
Snabbstarten hjälper dig att konfigurera Android-, .NET MAUI Android- och iOS/macOS-appar för att logga in användare genom att registrera program, konfigurera omdirigerings-URL:er, uppdatera konfigurationer och testa appen.
För att din applikation ska kunna logga in användare med Microsoft Entra måste Microsoft Entras externa ID få information om den applikation du skapar. Appregistreringen upprättar en förtroenderelation mellan appen och Microsoft Entra. När du registrerar ett program genererar externt ID en unik identifierare som kallas ett program-ID (klient)-ID, ett värde som används för att identifiera din app när du skapar autentiseringsbegäranden.
Följande steg visar hur du registrerar din app i administrationscentret för Microsoft Entra:
Om du har åtkomst till flera klientorganisationer använder du ikonen Inställningar i den övre menyn för att växla till den externa klientorganisationen från menyn Kataloger och prenumerationer.
Bläddra till Identity>Applikationer>Appregistreringar.
Välj + Ny registrering.
På sidan Registrera en ansökan som visas.
Ange ett meningsfullt program Namn som visas för appens användare, till exempel ciam-client-app.
Under Kontotyper som stödsväljer du endast Konton i den här organisationskatalogen.
Välj Registrera.
Programmets översiktsfönster visas vid lyckad registrering. Registrera program-ID (klient)-ID:t som ska användas i programmets källkod.
För att ditt program ska kunna logga in användare med Microsoft Entra måste Microsoft Entra External ID meddelas om det program du skapar. Appregistreringen upprättar en förtroenderelation mellan appen och Microsoft Entra. När du registrerar ett program genererar externt ID en unik identifierare som kallas ett program-ID (klient)-ID, ett värde som används för att identifiera din app när du skapar autentiseringsbegäranden.
Följande steg visar hur du registrerar din app i administrationscentret för Microsoft Entra:
Om du har åtkomst till flera klienter använder du ikonen Inställningar i den översta menyn för att växla till den externa klienten från menyn Kataloger + prenumerationer.
Bläddra till Identity>Applications>App registrations.
Välj + Ny registrering.
På sidan Registrera en applikation som dyker upp.
Ange ett meningsfullt applikationsnamn Namn som visas för användarna av appen, till exempel ciam-client-app.
Under Kontotyper som stödsväljer du endast Konton i den här organisationskatalogen.
Välj Registrera.
Programmets översiktsfönster visas vid lyckad registrering. Registrera klient-ID:t för att användas i programmets källkod.
För att ditt program ska kunna logga in användare med Microsoft Entra måste Microsoft Entras externa ID vara informerat om det program du skapar. Appregistreringen upprättar en förtroenderelation mellan appen och Microsoft Entra. När du registrerar ett program genererar externt ID en unik identifierare som kallas ett program-ID (klient)-ID, ett värde som används för att identifiera din app när du skapar autentiseringsbegäranden.
Följande steg visar hur du registrerar din app i administrationscentret för Microsoft Entra:
Om du har åtkomst till flera klientorganisationer, använder du ikonen Inställningar i toppmenyn för att växla till din externa klientorganisation från menyn Kataloger och prenumerationer.
Navigera till Identity>Applications>App registrations.
Välj + Ny registrering.
På sidan där du registrerar en applikation som visas.
Ange ett meningsfullt program Namn som visas för appens användare, till exempel ciam-client-app.
Under Kontotyper som stödsväljer du endast Konton i den här organisationskatalogen.
Välj Registrera.
Programmets översiktsfönster visas vid lyckad registrering. Registrera applikations-ID (klient) som ska användas i din applikations källkod.
Följ dessa steg om du vill ange din apptyp för din appregistrering:
Under Hanteraväljer du autentisering.
På sidan Platform-konfigurationer väljer du Lägg till en plattformoch väljer sedan alternativet Android.
Ange projektets paketnamn. Om du laddade ned exempelkodär det här värdet com.azuresamples.msaldelegatedandroidkotlinsampleapp.
I avsnittet Signature hash i fönstret Konfigurera din Android-app väljer du Generera en utvecklingssignaturhash. Detta ändras för varje utvecklingsmiljö. Kopiera och kör KeyTool-kommandot för operativsystemet i terminalen.
Ange hashen Signature som genererats av KeyTool.
Välj Konfigurera.
Kopiera MSAL-konfigurationen från Android-konfigurationsfönstret och spara den för senare appkonfiguration.
Välj Färdig.
Aktivera offentligt klientflöde
Följ dessa steg för att identifiera din app som en offentlig klient:
Under Hanteraväljer du Autentisering.
Under Avancerade inställningarför Tillåt offentliga klientflödenväljer du Ja.
Välj Spara för att spara ändringarna.
Följ dessa steg om du vill ange din apptyp för din appregistrering:
Under Hanteraväljer du Autentisering.
På sidan Platform-konfigurationer väljer du Lägg till en plattformoch väljer sedan alternativ för mobil- och skrivbordsprogram.
För omdirigerings-URI:er, ange msalEnter_the_Application_Id_Here://authoch ersätt Enter_the_Application_Id_Here med det program-ID (klient-ID) som du kopierade tidigare, och välj sedan Konfigurera.
Välj Spara för att spara ändringarna.
Följ dessa steg om du vill ange din apptyp för din appregistrering:
Under Hanteraväljer du Autentisering.
På sidan Platform-konfigurationer väljer du Lägg till en plattformoch väljer sedan alternativet iOS/macOS.
Ange projektets paket-ID. Om du laddade ned exempelkodär det här värdet com.microsoft.identitysample.ciam.MSALiOS.
Välj Konfigurera och spara MSAL-konfiguration som visas i iOS/macOS-konfiguration fönstret så att du kan ange den när du konfigurerar appen senare.
Välj Klar.
Aktivera offentligt klientflöde
Följ dessa steg för att identifiera din app som en offentlig klient:
Under Hanteraväljer du Autentisering.
Under Avancerade inställningarför Tillåt offentliga klientflödenväljer du Ja.
När du har registrerat ditt program tilldelas det behörigheten User.Read. Men eftersom hyresgästen är en extern tenant kan kundanvändarna själva inte samtycka till den här behörigheten. Du som klientadministratör måste godkänna den här behörigheten för alla användare i klientorganisationen:
På sidan Appregistreringar väljer du det program som du skapade (till exempel ciam-client-app) för att öppna sidan Översikt.
Under Hanteraväljer du API-behörigheter.
Välj Bevilja administratörsmedgivande för <ditt klientnamn>och välj sedan Ja.
Välj Uppdateraoch kontrollera sedan att Beviljas för <ditt klientnamn> visas under Status för behörigheten.
När du har registrerat ditt program tilldelas det behörigheten User.Read. Men eftersom hyresgästen är en extern hyresgäst, kan kundanvändarna själva inte samtycka till den här behörigheten. Du som klientadministratör måste godkänna den här behörigheten för alla användare i klientorganisationen:
På sidan Appregistreringar väljer du det program som du skapade (till exempel ciam-client-app) för att öppna sidan Översikt.
Under Hanteraväljer du API-behörigheter.
Välj Bevilja administratörsmedgivande för <ditt klientnamn>och välj sedan Ja.
Välj Uppdateraoch kontrollera sedan att Beviljas för <ditt klientnamn> visas under Status för behörigheten.
Skapa ett användarflöde
Följ de här stegen för att skapa ett användarflöde som en kund kan använda för att logga in eller registrera sig för ett program.
Om du har åtkomst till flera klienter använder du ikonen Inställningar i den översta menyraden för att växla till din externa klient från menyn Kataloger + prenumerationer.
Bläddra till Identitet>Externa Identiteter>Användarflöden.
Välj + Nytt användarflöde.
På sidan Skapa:
Ange ett Namn för användarflödet, till exempel SignInSignUpSample.
I listan identitetsleverantörer väljer du E-postkonton. Med den här identitetsprovidern kan användare logga in eller registrera sig med sin e-postadress.
Not
Ytterligare identitetsprovidrar visas endast här när du har konfigurerat federation med dem. Om du till exempel konfigurerar federation med Google, Facebook, Apple eller en OIDC-identitetsproviderkan du välja dessa ytterligare identitetsprovidrar här.
Under e-postkontonkan du välja något av de två alternativen. I den här handledningen väljer du E-post med lösenord.
e-post med lösenord: Tillåter att nya användare registrerar sig och loggar in med en e-postadress som inloggningsnamn och ett lösenord som sin första faktorautentiseringsuppgifter.
E-post engångslösenord: Tillåter att nya användare registrerar sig och loggar in med en e-postadress som inloggningsnamn och e-postlösenord som första faktorautentiseringsuppgifter. Engångslösenord för e-post måste vara aktiverat på klientnivå (Alla identitetsprovidrar>e-post engångslösenord) för att det här alternativet ska vara tillgängligt på användarflödesnivå.
Under Användarattributväljer du de attribut som du vill samla in från användaren vid registreringen. Genom att välja Visa flerkan du välja attribut och anspråk för land/region, visningsnamnoch postnummer. Välj OK. (Användare uppmanas endast att ange attribut när de registrerar sig för första gången.)
Välj Skapa. Det nya användarflödet visas i listan Användarflöden. Uppdatera sidan om det behövs.
Associera .NET MAUI Android-programmet med användarflödet
För att kundanvändarna ska kunna se registrerings- eller inloggningsupplevelsen när de använder din app måste du associera appen med ett användarflöde. Även om många program kan associeras med ditt användarflöde kan ett enda program bara associeras med ett användarflöde.
På sidomenyn väljer du Identitet.
Välj externa identiteteroch sedan Användarflöden.
På sidan Användarflöden väljer du det namn på användarflöde du skapade tidigare, till exempel SignInSignUpSample.
Under Använd, välj Applikationer.
Välj Lägg till program.
Välj programmet i listan, till exempel ciam-client-app eller använd sökrutan för att hitta programmet och välj det sedan.
Välj Välj.
När du har associerat din app med ett användarflöde kan du testa användarflödet genom att simulera en användares registrering eller inloggning med ditt program från administrationscentret för Microsoft Entra. Det gör du genom att använda stegen i Testa ditt registrerings- och inloggningsanvändarflöde.
När du har registrerat ditt program tilldelas det behörigheten User.Read. Men eftersom klientorganisationen är en extern klientorganisation kan kundanvändarena själva inte samtycka till den här behörigheten. Du som klientadministratör måste godkänna den här behörigheten för alla användare i klientorganisationen:
På sidan Appregistreringar väljer du det program som du skapade (till exempel ciam-client-app) för att öppna sidan Översikt.
Under Hanteraväljer du API-behörigheter.
Välj Bevilja administratörsmedgivande för <ditt klientnamn>och välj sedan Ja.
Välj Uppdateraoch kontrollera sedan att Beviljas för <ditt klientnamn> visas under Status för behörigheten.
Om du vill hämta .NET MAUI Android-programexempelkoden ladda ned .zip filen eller klona .NET MAUI Android-exempelprogrammet från GitHub genom att köra följande kommando:
Enter_the_Application_Id_Here och ersätt det med program-ID (klient)-ID:t för appen som du registrerade tidigare.
Enter_the_Redirect_Uri_Here och ersätt det med värdet för redirect_uri i konfigurationsfilen för Microsoft Authentication Library (MSAL) som du laddade ned tidigare när du lade till url:en för omdirigering av plattformen.
Enter_the_Tenant_Subdomain_Here och ersätt den med underdomänen katalog (hyresgäst). Om din primära klientdomän till exempel är contoso.onmicrosoft.comanvänder du contoso. Om du inte känner till klientunderdomänen kan du lära dig hur du läsa klientinformationen.
Öppna filen /app/src/main/AndroidManifest.xml.
Hitta platshållaren:
ENTER_YOUR_SIGNATURE_HASH_HERE och ersätt den med den signatur-hash- som du genererade tidigare när du lade till omdirigerings-URL:en för plattformen.
Hitta egenskapen med namnet scopes och ange de omfång som registrerats i . Bevilja administratörsmedgivande. Om du inte har registrerat några omfång kan du lämna den här omfångslistan tom.
private const val scopes = "" // Developers should set the respective scopes of their Microsoft Graph resources here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
Du har konfigurerat appen och den är redo att köras.
I Visual Studio öppnar du filen ms-identity-ciam-dotnet-tutorial-main/1-Authentication/2-sign-in-maui/appsettings.json.
Hitta platshållaren:
Enter_the_Tenant_Subdomain_Here och ersätt den med underdomänen Katalog (klientorganisation). Om din primära klientdomän till exempel är contoso.onmicrosoft.comanvänder du contoso. Om du inte har ditt klientnamn lär du dig att läsa klientinformationen.
Enter_the_Application_Id_Here och ersätt det med program-ID (klient)-ID:t för appen som du registrerade tidigare.
Öppna i Visual Studio filen ms-identity-ciam-dotnet-tutorial-main/1-Authentication/2-sign-in-maui/Platforms/Android/AndroidManifest.xml.
Hitta platshållaren:
Enter_the_Application_Id_Here och ersätt det med program-ID (klient)-ID:t för appen som du registrerade tidigare.
Om du vill aktivera autentisering och åtkomst till Microsoft Graph-resurser konfigurerar du exemplet genom att följa dessa steg:
Öppna det projekt som du klonade i Xcode.
Öppna filen /MSALiOS/Configuration.swift.
Hitta platshållaren:
Enter_the_Application_Id_Here och ersätt det med program-ID (klient)-ID:t för appen som du registrerade tidigare.
Enter_the_Redirect_URI_Here och ersätt det med värdet för kRedirectUri i konfigurationsfilen för Microsoft Authentication Library (MSAL) som du laddade ned tidigare när du lade till url:en för omdirigering av plattformen.
Enter_the_Protected_API_Scopes_Here och ersätt den med de omfång som registrerats i Bevilja administratörsmedgivande. Om du inte har registrerat några omfång kan du lämna den här omfångslistan tom.
Enter_the_Tenant_Subdomain_Here och ersätt den med underdomänen Katalog (klientorganisation). Om din primära klientdomän till exempel är contoso.onmicrosoft.comanvänder du contoso. Om du inte känner till klientunderdomänen kan du lära dig hur du läser klientinformationen.
Du har konfigurerat appen och den är redo att köras.
I verktygsfältet väljer du din app på menyn Kör konfigurationer.
I målenhetsmenyn väljer du den enhet som du vill köra appen på.
Om du inte har konfigurerat några enheter måste du antingen skapa en virtuell Android-enhet för att använda Android-emulatorn eller ansluta en fysisk Android-enhet.
Välj knappen Kör.
Välj Hämta token interaktivt för att begära en åtkomsttoken.
Om du väljer API – Utför GET- för att anropa ett skyddat ASP.NET Core-webb-API får du ett fel.
Mer information om hur du anropar ett skyddat webb-API finns i vår nästa steg
.NET MAUI-appar är utformade för att köras på flera operativsystem och enheter. Du måste välja vilket mål du vill testa och felsöka appen med.
Ange Felsökningsmål i Visual Studio-verktygsfältet till den enhet som du vill felsöka och testa med. Följande steg visar hur du ställer in Felsökningsmål till Android:
Välj rullgardinsmenyn Felsökningsmål.
Välj Android-emulatorer.
Välj emulatorenhet.
Kör appen genom att trycka på F5 eller välj knappen play överst i Visual Studio.
Nu kan du testa .NET MAUI Android-exempelappen. När du har kört appen visas Android-appfönstret i en emulator:
I Android-fönstret som visas väljer du knappen Logga in. Ett webbläsarfönster öppnas och du uppmanas att logga in.
Under inloggningsprocessen uppmanas du att bevilja olika behörigheter (så att programmet kan komma åt dina data). Vid lyckad inloggning och medgivande visar programskärmen huvudsidan.
Följ dessa steg för att skapa och köra din app:
Om du vill skapa och köra koden väljer du Kör på menyn Product i Xcode. Efter en lyckad version startar Xcode exempelappen i simulatorn.
Välj Hämta token interaktivt för att begära en åtkomsttoken.
Om du väljer API – Utför GET- för att anropa ett skyddat ASP.NET Core-webb-API får du ett fel.
Mer information om hur du anropar ett skyddat webb-API finns i vår Nästa steg