Autentisering för Fabric-appar

Fabric Apps innehåller en inbyggd autentiseringstjänst som loggar in användare, hanterar deras sessioner och kopplar deras identitet till alla data och lagringsanrop som appen gör. Den här artikeln beskriver de begrepp som du behöver förstå innan du konfigurerar autentisering för projektet.

Mer information om implementering finns i:

Autentiseringslägen

Fabric Apps stöder två autentiseringsmetoder. Vilken metod du använder beror på var appen körs:

Miljö Metod som stöds När du ska använda detta
Lokal utveckling E-post och lösenord Iterera snabbt utan att vara beroende av Fabric-portalen.
Distribuerad till Fabric Fabric SSO (Microsoft Entra ID) Produktionsinloggning för alla användare med åtkomst till din Fabric arbetsyta.

Viktiga begrepp:

  • Fabric SSO loggar in användaren via Fabric-portalen med hjälp av deras befintliga Microsoft Entra ID identitet. Det fungerar bara när appen öppnas från Fabric, så du kan inte använda den under den lokala utvecklingen.
  • E-post och lösenord är endast avsedda för lokal utveckling. Den fungerar inte efter distributionen.
  • Den första inloggningen etablerar användarkontot. Med Fabric enkel inloggning finns det inget separat registreringssteg – användarna skapas automatiskt första gången de loggar in.
  • Autentisering krävs för Fabric distributioner. Att ställa in services.auth.enabled till false gör att npx rayfin up misslyckas.

Sessioner och identitet

När en användare har loggat in skapar SDK en session som representerar den inloggade användaren. Sessioner är opaka – din app bör inte undersöka de underliggande tokenen. I stället läser appen en liten uppsättning egenskaper på hög nivå:

  • Om en session för närvarande är autentiserad.
  • Användarens id och email.
  • Anpassade anspråk som du konfigurerade i rayfin.yml.

Samma klientinstans som signerar användaren ansluter automatiskt sin identitet till varje data- och lagringsanrop. Du skickar inte token manuellt.

Sessioner skapar också ändringshändelser, så att ditt användargränssnitt kan reagera när en användare loggar in eller loggar ut utan att läsa in sidan igen.

Aktivera autentisering i projektet

Autentisering har konfigurerats i rayfin/rayfin.yml. Följande exempel aktiverar både Fabric SSO (för distribuerade appar) och inloggning med e-post/lösenord (för lokal utveckling):

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

Vad varje inställning styr:

  • services.auth.enabled – Aktiverar autentiseringstjänsten. Krävs för all driftsättning av Fabric.
  • allowedRedirectUris – De originer som tillåts ta emot användaren efter inloggning. Lägg till din lokala utvecklings-URL här. npx rayfin up lägger till den distribuerade appens ursprung automatiskt.
  • fabric.enabled – Aktiverar enkel inloggning (SSO) för Fabric. Krävs för distribuerade appar.
  • password.enabled – Aktiverar e-post och lösenordsinloggning för lokal utveckling.

Important

Fabric distributioner kräver att autentisering aktiveras. npx rayfin up misslyckas när services.auth.enabled är inställt på false.

När du har redigerat rayfin.ymlstartar du om den lokala serverdelen eller kör npx rayfin up för att tillämpa ändringen.

Anpassade anspråk

Med anpassade anspråk kan du bifoga programspecifika metadata till varje session, till exempel ett klientnamn, en funktionsflagga eller en appversion. De är användbara för rollbaserad åtkomstkontroll och funktionsstyrning utan att ändra datamodellen.

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

Anpassade anspråk visas i sessionsobjektet och kan refereras från dina databehörighetsregler.

Vad SDK:et tillhandahåller

När du använder RayfinClientär autentiseringstjänsten tillgänglig på client.auth. På konceptuell nivå ger den:

  • Registrera dig och logga in med e-post och lösenord under den lokala utvecklingen.
  • Inloggning och registrering med Fabric SSO för driftsatta appar. Samma anrop hanterar både nya och återkommande användare.
  • Logga ut för att avsluta den aktuella sessionen.
  • Sessionsläsningar och prenumerationer så att användargränssnittet förblir synkroniserat med användarens autentiseringstillstånd.

Den kod som kopplar dessa till en riktig app finns i Konfigurera Fabric SSO-autentisering för din Fabric-app.