Klientapplikationer

Microsofts autentiseringsbibliotek (MSAL) Python stöder två typer av klientprogram: offentliga klientprogram och konfidentiella klientprogram. Klienttyperna särskiljs av deras möjlighet att autentisera säkert med auktoriseringsservern och att lagra känslig identitetsbevisinformation så att den inte kan nås eller kännas till för en användare inom ramen för dess åtkomst. Den här artikeln fokuserar på hur du initierar dessa program med hjälp av MSAL Python.

Förutsättningar

Förstå de grundläggande begreppen för offentliga och konfidentiella klientprogram.

Skapa en applikation

Du behöver en appregistrering för att starta en app. Registrera en app i Microsoft Entra administrationscenter. På registreringssidan behöver du:

  • Applikationsklientens identifierare. Det här är en sträng i form av ett GUID.
  • Identitetsleverantörens URL (instansen) och inloggningsmålgruppen för din applikation. Dessa två parametrar kallas tillsammans för auktoriteten.
  • Om det behövs: klientorganisations-ID:t (också ett GUID) om du skriver ett verksamhetsprogram som är avgränsat till endast din organisation (även kallat ett program med en klientorganisation).
  • Om du skapar en konfidentiell klientapp skapar du en programhemlighet i form av en sträng eller ett certifikat.
  • För webbprogram anger du den omdirigerings-URL som Microsoft Entra ID använder för att returnera koden. För skrivbordsprogram lägger du till http://localhost om du inte förlitar dig på autentiseringskoordinatorer.

Instansiera ett offentligt klientprogram

Offentliga klientprogram använder PublicClientApplication klassen .

import msal

app = msal.PublicClientApplication(
    "client_id",
    authority="authority",
    )

Instansiera ett konfidentiellt klientprogram

Konfidentiella klientprogram använder ConfidentialClientApplication klassen.

import msal

app = msal.ConfidentialClientApplication(
    "client_id",
    authority="authority",
    client_credential="client_secret",
    )

Caching

När du instansierar ett klientprogram finns det två parametrar som du kan använda för att definiera dina inställningar för cachelagring. Dessa parametrar är: token_cache och http_cache.

  • token_cache anger den tokencache som används av klientprograminstansen. Som standard skapas och används en minnesintern cache. Mer information finns i tokencachelagring i MSAL Python.
  • http_cache finns i MSAL Python version 1.16+. Detta cachelagrar automatiskt ett visst begränsat antal icke-token http-svar, så att långlivade PublicClientApplication - och ConfidentialClientApplication-instanser skulle vara mer högpresterande och dynamiska i vissa situationer. Om parametern http_cache inte anges använder MSAL en minnesintern diktering. Om din app är en kommandoradsapp (CLI) vill du spara dina http_cache mellan olika CLI-körningar. Mer information finns i referensguiden.

Nästa steg

Hämta token för din app.