Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Fabric Apps bevat een ingebouwde verificatieservice waarmee gebruikers worden aangemeld, hun sessies worden beheerd en hun identiteit wordt gekoppeld aan elke gegevens- en opslagoproep die uw app doet. In dit artikel worden de concepten uitgelegd die u moet begrijpen voordat u verificatie voor uw project configureert.
Zie voor meer informatie over de implementatie:
- Fabric SSO-authenticatie voor uw Fabric-app configureren – code voor aanmelden en registreren voor geïmplementeerde apps.
- Gegevensmachtigingen definiëren : gebruik de identiteit van de aangemelde gebruiker om de toegang tot gegevens te beheren.
Verificatiemodi
Uitgerolde Fabric-apps authenticeren zich met Microsoft Entra ID. Kies het integratiepad op basis van waar de app draait en wie de Entra-token verkrijgt:
| Environment | Ondersteunde methode | Wanneer gebruikt u het? |
|---|---|---|
| Browser-app met het Fabric-portaal | Fabric SSO-pop-up of ingesloten handoff | Laat Fabric interactieve aanmelding uitvoeren, of inloggen in een app die in Fabric is ingebed. |
| Browser of Node.js app die al een gedelegeerde Entra-token heeft | signInWithEntraToken() |
Wissel de meegeleverde token in voor een Rayfin-sessie zonder een popup of redirect. |
| App ingebed in een extern bovenliggend portaal |
createEmbedHost() in het bovenliggende frame en initEmbeddedAuth() in het iframe |
Laat een vertrouwde, door Entra geauthenticeerde bovenliggende broker een doorverwijzing bemiddelen zonder zijn token naar het iframe te sturen. |
| Lokale ontwikkeling met een lokale backend | E-mail en wachtwoord | Test tegen een lokale backend; deze methode werkt niet op een deployed Fabric backend. |
Sleutelbegrippen:
- Fabric SSO gebruikt het Fabric-portaal om een browsergebruiker te authenticeren. De app kan binnen Fabric draaien of een popup gebruiken vanaf een zelfstandige pagina, inclusief een lokale frontend die zich richt op een geïmplementeerde backend.
- Direct Entra-uitwisseling en external-parent-host overdracht zijn extra Microsoft Entra-paden, geen ondersteuning voor willekeurige identiteitsproviders of app-only service principal inloggen.
- E-mail en wachtwoord zijn alleen bedoeld voor lokale ontwikkeling. Het werkt niet na de implementatie.
- Bij de eerste aanmelding wordt de gebruiker ingericht. Met Fabric-SSO is er geen afzonderlijke registratiestap: gebruikersaccounts worden automatisch aangemaakt de eerste keer dat ze zich aanmelden.
- Verificatie is vereist voor Fabric implementaties. Het instellen van
services.auth.enabledopfalseveroorzaakt datnpx rayfin upmislukt.
Voor tokenvereisten en implementatievoorbeelden, zie Direct Entra token sign-in en Embed in een extern ouderportaal.
Sessies en identiteit
Nadat een gebruiker zich heeft aangemeld, maakt de SDK een sessie die de aangemelde gebruiker vertegenwoordigt. Sessies zijn ondoorzichtig. Uw app moet de onderliggende tokens niet inspecteren. In plaats daarvan leest uw app een kleine set eigenschappen op hoog niveau:
- Of een sessie momenteel is geverifieerd.
- De
idenemailvan de gebruiker. - Aangepaste claims die u hebt geconfigureerd in
rayfin.yml.
Hetzelfde clientexemplaren waarmee de gebruiker wordt aangemeld, koppelt automatisch hun identiteit aan elke gegevens- en opslagaanroep. U geeft tokens niet handmatig door.
Sessies veroorzaken ook wijzigingsevenementen, zodat uw gebruikersinterface kan reageren wanneer een gebruiker zich aanmeldt of zich afmeldt zonder de pagina opnieuw te laden.
Voor server-side integraties gebruik je per gebruiker een aparte client- en geheugen-only Auth sessie (authStorage: false op RayfinClient, of { storage: false } op Auth). Deel nooit een muteerbare ingelogde client tussen gebruikers. Vernietig de authenticatie-instantie wanneer het verzoek of de gebruikersspecifieke scope eindigt.
Verificatie inschakelen in uw project
Authenticatie is geconfigureerd in rayfin/rayfin.yml. In het volgende voorbeeld worden zowel Fabric SSO (voor geïmplementeerde apps) als aanmelding via e-mail/wachtwoord (voor lokale ontwikkeling) ingeschakeld:
services:
auth:
enabled: true
allowedRedirectUris:
- http://localhost:5173
fabric:
enabled: true
externalEntraExchange: true
password:
enabled: true # Local development only
Wat elke instelling bepaalt:
-
services.auth.enabled: hiermee schakelt u de verificatieservice in. Vereist voor elke Fabric-implementatie. -
allowedRedirectUris– De origins waarnaar de gebruiker na het aanmelden mag worden doorgestuurd. Voeg hier uw lokale dev-URL toe.npx rayfin upvoegt automatisch de geïmplementeerde app-oorsprong toe. -
fabric.enabled– Schakelt Fabric SSO in. Vereist voor geïmplementeerde apps. -
fabric.externalEntraExchange– Maakt directe gedelegeerde Entra-tokenuitwisseling en overdracht van externe ouder-host mogelijk. De target Fabric-omgeving moet de uitwisseling ook ondersteunen. -
password.enabled– Hiermee schakelt u aanmelding via e-mail en wachtwoord in voor lokale ontwikkeling.
Important
Fabric implementaties vereisen dat verificatie is ingeschakeld.
npx rayfin up mislukt wanneer services.auth.enabled is ingesteld op false.
Na het bewerken van rayfin.yml, herstart je de lokale backend of voer je npx rayfin up uit om de wijziging toe te passen.
Vereisten voor extern verkregen Entra-tokens
Directe uitwisseling en authenticatie van externe bovenliggende host vereisen een gedelegeerde gebruikerstoken voor de Fabric/Power BI-doelgroep die door de doelimplementatie wordt geaccepteerd, met Item.Execute.All, uitgegeven in de tenant waarvan het item eigenaar is. De gebruiker moet ook Execute-rechten hebben op het app-item. App-only tokens worden niet ondersteund door deze aanmeldpaden.
Je identitybibliotheek verkrijgt het token en handelt toestemming af. De Rayfin SDK ruilt het in voor een Rayfin-sessie; het verkrijgt de Entra-token niet. Browseraanroepers hebben ook een CORS-beleid van de dienst nodig dat de origin en de Authorization-header toestaat.
Aangepaste claims
Met aangepaste claims kunt u toepassingsspecifieke metagegevens aan elke sessie koppelen, bijvoorbeeld een tenantnaam, een functievlag of een app-versie. Ze zijn handig voor op rollen gebaseerd toegangsbeheer en functie-gating zonder uw gegevensmodel te wijzigen.
services:
auth:
enabled: true
customClaims:
tenant: default
app_version: 1.0.0
Aangepaste claims verschijnen in het sessieobject en er kan vanuit uw machtigingsregels voor gegevens naar worden verwezen.
Wat de SDK biedt
Wanneer u de RayfinClient gebruikt, is de authenticatieservice beschikbaar op client.auth. Op conceptueel niveau biedt het:
- Registreren en aanmelden met e-mail en wachtwoord tijdens lokale ontwikkeling.
- Aanmeld- en aanmelding via Fabric SSO voor geïmplementeerde apps. Dezelfde aanroep verwerkt zowel nieuwe als terugkerende gebruikers.
- Direct gedelegeerde Entra-tokenuitwisseling in browser- of Node.js-code, plus een vertrouwde overdracht door een externe bovenliggende host voor embedded apps.
- Afmelden om de huidige sessie te beëindigen.
- Sessielezingen en abonnementen zodat uw interface gesynchroniseerd blijft met de authenticatiestatus van de gebruiker.
Voor de code die deze functies verbindt in een echte app, zie Configure Fabric SSO authentication voor je Fabric-app. Zie Omleidings-URI's voor authenticatie configureren voor richtlijnen over de toelatingslijst voor callback en handoff.