Applicazioni client

Libreria di Autenticazione Microsoft (MSAL) Python supporta due tipi di applicazioni client: applicazioni client pubbliche e applicazioni client riservate. I tipi di client sono distinti in base alla possibilità di eseguire l'autenticazione in modo sicuro con il server di autorizzazione e di conservare informazioni sensibili e di prova dell'identità in modo che non possano essere accessibili o noti a un utente nell'ambito dell'accesso. Questo articolo è incentrato su come inizializzare queste applicazioni usando MSAL Python.

Prerequisiti

Comprendere i concetti di base delle applicazioni client pubbliche e riservate.

Creare un'istanza di un'applicazione

È necessaria una registrazione dell'app per avviare un'app. Registrare un'app nel Interfaccia di amministrazione di Microsoft Entra. Dalla pagina di registrazione è necessario:

  • L'identificatore del client dell'applicazione. Si tratta di una stringa sotto forma di GUID.
  • L'URL del provider di identità (l'istanza) e i destinatari di accesso dell'applicazione. Questi due parametri sono noti collettivamente come autorità.
  • Se necessario, l'identificatore del tenant, anch'esso un GUID, se si sta scrivendo un'applicazione aziendale limitata alla sola organizzazione (nota anche come applicazione a tenant singolo).
  • Se si sta creando un'app client riservata, creare un segreto dell'applicazione sotto forma di stringa o certificato.
  • Per le applicazioni web, imposta l'URL di reindirizzamento che Microsoft Entra ID usa per restituire il codice. Per le applicazioni desktop, aggiungere http://localhost se non si fa affidamento sui broker di autenticazione.

Crea un'istanza di un'applicazione client pubblica

Le applicazioni client pubbliche usano la PublicClientApplication classe .

import msal

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

Creare un'istanza di un'applicazione client confidenziale

Le applicazioni client riservate usano la ConfidentialClientApplication classe .

import msal

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

Caching

Quando si crea un'istanza di un'applicazione client, è possibile usare due parametri per definire le preferenze di memorizzazione nella cache. Questi parametri sono: token_cache e http_cache.

  • token_cache imposta la cache dei token usata dall'istanza dell'applicazione client. Per impostazione predefinita, viene creata e usata una cache in memoria. Per altre informazioni, vedere Memorizzazione nella cache dei token in MSAL Python.
  • http_cache è disponibile in MSAL Python versione 1.16+. Questo memorizza automaticamente nella cache un numero limitato di risposte HTTP nonken, in modo che le istanze PublicClientApplication e ConfidentialClientApplication di lunga durata siano più efficienti e reattive in alcune situazioni. Se il parametro http_cache non viene specificato, MSAL usa un dict in memoria. Se la tua app è un'app da riga di comando (CLI), probabilmente vorrai mantenere persistente il tuo http_cache tra diverse esecuzioni della CLI. Per altre informazioni, vedere la guida di riferimento.

Passaggi successivi

Ottieni i token per l'app.