Autenticazione per le app di Fabric

Fabric App include un servizio di autenticazione predefinito che consente agli utenti di accedere, gestire le sessioni e allegare la propria identità a ogni chiamata di dati e archiviazione eseguita dall'app. Questo articolo illustra i concetti da comprendere prima di configurare l'autenticazione per il progetto.

Per informazioni dettagliate sull'implementazione, vedere:

Modalità di autenticazione

Fabric App supporta due metodi di autenticazione. Il metodo usato dipende dalla posizione in cui viene eseguita l'app:

Ambiente Metodo supportato Quando usarlo
Sviluppo locale Posta elettronica e password Scorrere rapidamente senza dipendere dal portale di Fabric.
Distribuito in Fabric Fabric SSO (Microsoft Entra ID) Accesso all'ambiente di produzione per qualsiasi utente autorizzato alla tua area di lavoro Fabric.

Concetti chiave:

  • Fabric SSO consente all'utente di accedere attraverso il portale di Fabric utilizzando l'identità Microsoft Entra ID esistente. Funziona solo quando l'app viene aperta da Fabric, quindi non puoi usarla durante lo sviluppo locale.
  • La posta elettronica e la password sono destinate solo allo sviluppo locale. Non funziona dopo la distribuzione.
  • Al primo accesso, viene effettuato il provisioning dell'utente. Con Fabric SSO, non esiste un passaggio di iscrizione separato. Gli utenti vengono creati automaticamente la prima volta che accedono.
  • L'autenticazione è necessaria per le distribuzioni di Fabric. L'impostazione di services.auth.enabled su false causa il malfunzionamento di npx rayfin up.

Sessioni e identità

Dopo l'accesso di un utente, l'SDK crea una sessione che rappresenta l'utente connesso. Le sessioni sono opache: l'app non deve esaminare i token sottostanti. L'app legge invece un piccolo set di proprietà di alto livello:

  • Indica se una sessione è attualmente autenticata.
  • L'utente id e email.
  • Attestazioni personalizzate che hai configurato in rayfin.yml.

La stessa istanza client che effettua l'accesso dell'utente associa automaticamente l'identità dell'utente a ogni chiamata ai dati e di archiviazione. I token non vengono passati manualmente.

Le sessioni generano anche eventi di modifica, in modo che l'interfaccia utente possa reagire quando un utente accede o si disconnette senza ricaricare la pagina.

Abilitare l'autenticazione nel progetto

L'autenticazione è configurata in rayfin/rayfin.yml. L'esempio seguente abilita sia Fabric SSO (per le app distribuite) che l'accesso tramite posta elettronica/password (per lo sviluppo locale):

services:
  auth:
    enabled: true
    allowedRedirectUris:
      - http://localhost:5173
    fabric:
      enabled: true
    password:
      enabled: true  # Local development only

Che cosa controlla ciascuna impostazione:

  • services.auth.enabled : attiva il servizio di autenticazione. Necessario per qualsiasi distribuzione di Fabric.
  • allowedRedirectUris – Le origini autorizzate a cui reindirizzare l'utente dopo l'accesso. Aggiungere l'URL di sviluppo locale qui. npx rayfin up aggiunge automaticamente l'origine dell'app distribuita.
  • fabric.enabled – abilita l'SSO di Fabric. Obbligatorio per le app distribuite.
  • password.enabled : abilita l'accesso tramite posta elettronica e password per lo sviluppo locale.

Importante

Le distribuzioni di Fabric richiedono l'abilitazione dell'autenticazione. npx rayfin up ha esito negativo quando services.auth.enabled è impostato su false.

Dopo aver modificato rayfin.yml, riavvia il backend locale o esegui npx rayfin up per applicare la modifica.

Attestazioni personalizzate

Le attestazioni personalizzate consentono di allegare metadati specifici dell'applicazione a ogni sessione, ad esempio un nome del tenant, un flag di funzionalità o una versione dell'app. Sono utili per il controllo degli accessi in base al ruolo e il controllo delle funzionalità senza modificare il modello di dati.

services:
  auth:
    enabled: true
    customClaims:
      tenant: default
      app_version: 1.0.0

Le attestazioni personalizzate vengono visualizzate all'interno dell'oggetto sessione e possono essere referenziate dalle regole di autorizzazione dei dati.

Informazioni fornite dall'SDK

Quando si usa RayfinClient, il servizio di autenticazione è disponibile in client.auth. A livello concettuale, fornisce:

  • Iscrizione e accesso con posta elettronica e password durante lo sviluppo locale.
  • Accedere e registrarsi tramite Fabric SSO per le app distribuite. La stessa chiamata gestisce sia gli utenti nuovi sia quelli di ritorno.
  • Disconnettersi per terminare la sessione corrente.
  • Legge la sessione e gestisce le sottoscrizioni in modo che l'interfaccia utente rimanga sincronizzata con lo stato di autenticazione dell'utente.

Per il codice che integra questi elementi in un'app reale, consulta Configurare l'autenticazione SSO di Fabric per la tua app Fabric.