Share via


Skrivbordsapp som anropar webb-API:er: Appregistrering

Den här artikeln beskriver appregistreringsspecifika för ett skrivbordsprogram.

Kontotyper som stöds

Vilka kontotyper som stöds i ett skrivbordsprogram beror på vilken upplevelse du vill lysa upp. På grund av den här relationen beror de kontotyper som stöds på de flöden som du vill använda.

Målgrupp för anskaffning av interaktiv token

Om ditt skrivbordsprogram använder interaktiv autentisering kan du logga in användare från valfri kontotyp.

Målgrupp för tysta flöden för skrivbordsappar

  • Om du vill använda integrerad Windows-autentisering eller ett användarnamn och ett lösenord måste ditt program logga in användare i din egen klientorganisation, till exempel om du är verksamhetsspecifik utvecklare. Eller i Microsoft Entra-organisationer måste ditt program logga in användare i din egen klientorganisation om det är ett ISV-scenario. Dessa autentiseringsflöden stöds inte för Microsofts personliga konton.
  • Om du loggar in användare med sociala identiteter som skickar en utfärdare och princip för företag till handel (B2C) kan du bara använda interaktiv autentisering och autentisering med användarnamn och lösenord.

Omdirigerings-URI:er

Vilka omdirigerings-URI:er som ska användas i ett skrivbordsprogram beror på vilket flöde du vill använda.

Ange omdirigerings-URI:n för din app genom att konfigurera plattformsinställningarna för appen i Appregistreringar i administrationscentret för Microsoft Entra.

  • För appar som använder Web Authentication Manager (WAM) behöver omdirigerings-URI:er inte konfigureras i MSAL, men de måste konfigureras i appregistreringen.

  • För appar som använder interaktiv autentisering:

    • Appar som använder inbäddade webbläsare: https://login.microsoftonline.com/common/oauth2/nativeclient (Obs! Om din app skulle dyka upp ett fönster som vanligtvis inte innehåller något adressfält använder den den "inbäddade webbläsaren".)
    • Appar som använder systemwebbläsare: http://localhost (Obs! Om din app använder systemets standardwebbläsare (till exempel Edge, Chrome, Firefox osv.) för att besöka Microsofts inloggningsportal använder den "systemwebbläsaren".)

    Viktigt!

    Som bästa säkerhet rekommenderar vi att du uttryckligen anger https://login.microsoftonline.com/common/oauth2/nativeclient eller http://localhost som omdirigerings-URI. Vissa autentiseringsbibliotek som MSAL.NET använda ett standardvärde urn:ietf:wg:oauth:2.0:oob för när ingen annan omdirigerings-URI anges, vilket inte rekommenderas. Den här standardinställningen uppdateras som en icke-bakåtkompatibel ändring i nästa större version.

  • Om du skapar en inbyggd Objective-C- eller Swift-app för macOS registrerar du omdirigerings-URI:n baserat på programmets paketidentifierare i följande format: msauth.<your.app.bundle.id>://auth. Ersätt <your.app.bundle.id> med programmets paketidentifierare.

  • Om du skapar en Node.js Electron-app använder du ett anpassat strängprotokoll i stället för en vanlig webbdirigerings-URI (https://) för att hantera omdirigeringssteget i auktoriseringsflödet, till exempel msal{Your_Application/Client_Id}://auth (t.ex. msal00001111-aaaa-2222-bbbb-3333cccc4444://auth). Namnet på det anpassade strängprotokollet bör inte vara uppenbart att gissa och bör följa förslagen i OAuth2.0-specifikationen för interna appar.

  • Om din app endast använder integrerad Windows-autentisering eller ett användarnamn och ett lösenord behöver du inte registrera en omdirigerings-URI för ditt program. Dessa flöden gör en tur och retur till slutpunkten Microsofts identitetsplattform v2.0. Programmet anropas inte tillbaka på någon specifik URI.

  • För att skilja enhetskodflöde, integrerad Windows-autentisering och ett användarnamn och ett lösenord från ett konfidentiellt klientprogram med hjälp av ett flöde för klientautentiseringsuppgifter som används i daemonprogram, varav inget kräver en omdirigerings-URI, konfigurerar du det som ett offentligt klientprogram. För att uppnå den här konfigurationen:

    1. I administrationscentret för Microsoft Entra väljer du din app i Appregistreringar och väljer sedan Autentisering.

    2. I Avancerade inställningar>Tillåt offentliga klientflöden>Aktivera följande mobil- och skrivbordsflöden: välj Ja.

      Aktivera inställningen för offentlig klient i fönstret Autentisering i Azure-portalen

API-behörigheter

Skrivbordsprogram anropar API:er för den inloggade användaren. De måste begära delegerade behörigheter. De kan inte begära programbehörigheter som endast hanteras i daemonprogram.

Nästa steg

Gå vidare till nästa artikel i det här scenariot, App Code-konfiguration.