Authentifizierung für Fabric Apps

Fabric Apps enthält einen integrierten Authentifizierungsdienst, der Benutzer anmeldet, ihre Sitzungen verwaltet und ihre Identität jedem Von Ihrer App ausgeführten Daten- und Speicheranruf anfügt. In diesem Artikel werden die Konzepte erläutert, die Sie verstehen müssen, bevor Sie die Authentifizierung für Ihr Projekt konfigurieren.

Details zur Implementierung finden Sie unter:

Authentifizierungsmodi

Fabric Apps unterstützt zwei Authentifizierungsmethoden. Die methode, die Sie verwenden, hängt davon ab, wo die App ausgeführt wird:

Umgebung Unterstützte Methode Wann wird es verwendet?
Lokale Entwicklung E-Mail und Kennwort Schnell iterieren, ohne vom Fabric-Portal abhängig zu sein.
Bereitgestellt für Fabric Fabric SSO (Microsoft Entra ID) Anmeldung in der Produktionsumgebung für alle Benutzer mit Zugriff auf Ihren Fabric-Arbeitsbereich.

Wichtige Konzepte:

  • Fabric SSO meldet den Benutzer über das Fabric-Portal mit seiner vorhandenen Microsoft Entra ID-Identität an. Sie funktioniert nur, wenn die App über Fabric geöffnet wird, sodass Sie sie während der lokalen Entwicklung nicht verwenden können.
  • E-Mail und Kennwort sind nur für die lokale Entwicklung vorgesehen. Sie funktioniert nach der Bereitstellung nicht.
  • Die erstmalige Anmeldung stellt den Benutzer fest. Mit Fabric SSO gibt es keinen separaten Registrierungsschritt – Benutzer werden automatisch beim ersten Anmelden erstellt.
  • Die Authentifizierung ist für Fabric Bereitstellungen erforderlich. Das Festlegen von services.auth.enabled auf false führt dazu, dass npx rayfin up fehlschlägt.

Sitzungen und Identität

Nachdem sich ein Benutzer angemeldet hat, erstellt das SDK eine Sitzung , die den angemeldeten Benutzer darstellt. Sitzungen sind undurchsichtig – Ihre App sollte die zugrunde liegenden Token nicht prüfen. Stattdessen liest Ihre App eine kleine Gruppe von allgemeinen Eigenschaften vor:

  • Gibt an, ob eine Sitzung aktuell authentifiziert ist.
  • Die id und email des Benutzers.
  • Benutzerdefinierte Ansprüche, die Sie in rayfin.yml konfiguriert haben.

Die gleiche Clientinstanz, die den Benutzer automatisch anmeldet, fügt seine Identität jedem Daten- und Speicheraufruf an. Sie reichen Token nicht manuell weiter.

Sitzungen lösen auch Änderungsereignisse aus, sodass Ihre Benutzeroberfläche reagieren kann, wenn sich ein Benutzer anmeldet oder sich abmeldet, ohne die Seite neu zu laden.

Aktivieren der Authentifizierung in Ihrem Projekt

Die Authentifizierung wird in rayfin/rayfin.yml konfiguriert. Im folgenden Beispiel werden sowohl Fabric SSO (für bereitgestellte Apps) als auch die E-Mail-/Kennwortanmeldung (für die lokale Entwicklung) aktiviert:

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

Wofür die einzelnen Einstellungen zuständig sind:

  • services.auth.enabled – Aktiviert den Authentifizierungsdienst. Erforderlich für jede Fabric-Bereitstellung.
  • allowedRedirectUris – Die Origins, an die der Benutzer nach der Anmeldung weitergeleitet werden darf. Fügen Sie hier Ihre lokale Dev-URL hinzu. npx rayfin up fügt den bereitgestellten App-Ursprung automatisch hinzu.
  • fabric.enabled – Aktiviert Fabric SSO. Erforderlich für bereitgestellte Apps.
  • password.enabled – Ermöglicht die E-Mail- und Kennwortanmeldung für die lokale Entwicklung.

Important

Für Fabric-Bereitstellungen muss die Authentifizierung aktiviert sein. npx rayfin up schlägt fehl, wenn services.auth.enabled auf false gesetzt ist.

Starten Sie nach dem Bearbeiten von rayfin.yml das lokale Backend neu, oder führen Sie npx rayfin up aus, um die Änderung anzuwenden.

Benutzerdefinierte Ansprüche

Mit benutzerdefinierten Claims können Sie jeder Sitzung anwendungsspezifische Metadaten hinzufügen, z. B. einen Mandantennamen, ein Feature-Flag oder eine App-Version. Sie sind nützlich für rollenbasierte Zugriffssteuerung und Feature-Gating, ohne Ihr Datenmodell zu ändern.

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

Benutzerdefinierte Ansprüche werden innerhalb des Sitzungsobjekts angezeigt und können über Ihre Datenberechtigungsregeln referenziert werden.

Was das SDK bereitstellt

Wenn Sie das RayfinClient verwenden, ist der Authentifizierungsdienst unter client.auth verfügbar. Auf konzeptioneller Ebene bietet es Folgendes:

  • Registrieren und Anmelden mit E-Mail und Kennwort während der lokalen Entwicklung.
  • Sign-in und Registrieren über Fabric SSO für bereitgestellte Apps. Derselbe Anruf behandelt sowohl neue als auch zurückgegebene Benutzer.
  • Melden Sie sich ab, um die aktuelle Sitzung zu beenden.
  • Sitzungsabfragen und Abonnements, sodass Ihre Benutzeroberfläche mit dem Authentifizierungsstatus des Benutzers synchron bleibt.

Informationen zum Code, der diese in eine echte App verkabelt, finden Sie unter Configure Fabric SSO-Authentifizierung für Ihre Fabric App.