Dela via


Autentisering med en klientorganisation och flera klienter för Microsoft 365-användare

Den här artikeln ger dig insikt i autentiseringsprocessen för program med en klientorganisation och flera klientorganisationer, Microsoft Entra ID (Microsoft Entra ID). Du kan använda autentisering när du skapar samtalsupplevelser för Microsoft 365-användare med det SDK (Calling Software Development Kit ) som Azure Communication Services gör tillgängligt. Användningsfall i den här artikeln delar också upp enskilda autentiseringsartefakter.

Fall 1: Exempel på ett program med en enda klientorganisation

Fabrikam-företaget har skapat ett program för internt bruk. Alla användare av programmet har Microsoft Entra-ID. Åtkomst till Azure Communication Services styrs av rollbaserad åtkomstkontroll i Azure (Azure RBAC).

Ett diagram som beskriver autentiseringsprocessen för Fabrikams anropande program för Microsoft 365-användare och dess Azure Communication Services-resurs.

Följande sekvensdiagram beskriver autentisering med en klientorganisation.

Ett sekvensdiagram som beskriver autentisering av Fabrikams Microsoft 365-användare. Klientprogrammet hämtar en Åtkomsttoken för Azure Communication Services för en enda klientorganisation för Microsoft Entra-programmet.

Innan vi börjar:

  • Alice eller hennes Microsoft Entra-administratör måste ge det anpassade Teams-programmet medgivande innan det första försöket att logga in. Läs mer om medgivande.
  • Resursadministratören för Azure Communication Services måste ge Alice behörighet att utföra sin roll. Läs mer om rolltilldelning i Azure RBAC.

Steg:

  1. Autentisera Alice med Microsoft Entra-ID: Alice autentiseras med ett OAuth-standardflöde med Microsoft Authentication Library (MSAL). Om autentiseringen lyckas tar klientprogrammet emot en Microsoft Entra-åtkomsttoken med värdet A1 och ett objekt-ID för en Microsoft Entra-användare med värdet A2. Token beskrivs senare i den här artikeln. Autentisering från utvecklarperspektivet utforskas i den här snabbstarten.
  2. Hämta en åtkomsttoken för Alice: Fabrikam-programmet med hjälp av en anpassad autentiseringsartefakt med värdet B utför auktoriseringslogik för att avgöra om Alice har behörighet att byta Microsoft Entra-åtkomsttoken mot en Azure Communication Services-åtkomsttoken. När auktoriseringen har slutförts utför Fabrikam-programmet kontrollplanslogik med artefakter A1, A2och A3. Åtkomsttoken D för Azure Communication Services genereras för Alice i Fabrikam-programmet. Den här åtkomsttoken kan användas för dataplansåtgärder i Azure Communication Services, till exempel Samtal. Artefakterna A2 och A3 skickas tillsammans med artefakten A1 för validering. Verifieringen säkerställer att Microsoft Entra-token har utfärdats till den förväntade användaren. Programmet hindrar angripare från att använda Microsoft Entra-åtkomsttoken som utfärdats till andra program eller andra användare. Mer information om hur du hämtar artefakter finns i Ta emot Microsoft Entra-användartoken och objekt-ID via MSAL-biblioteket och Hämta ett program-ID.A
  3. Ring Bob: Alice ringer ett anrop till Microsoft 365-användaren Bob med Fabrikams app. Samtalet sker via anropande SDK med en åtkomsttoken för Azure Communication Services. Läs mer om att utveckla program för Microsoft 365-användare.

Artefakter:

  • Artefakt A1
    • Typ: Microsoft Entra-åtkomsttoken
    • Målgrupp: Azure Communication Services, kontrollplan
    • Källa: Fabrikams Microsoft Entra-klientorganisation
    • Behörigheter: https://auth.msft.communication.azure.com/Teams.ManageCalls, https://auth.msft.communication.azure.com/Teams.ManageChats
  • Artefakt A2
    • Typ: Objekt-ID för en Microsoft Entra-användare
    • Källa: Fabrikams Microsoft Entra-klientorganisation
    • Auktoritet: https://login.microsoftonline.com/<tenant>/
  • Artefakt A3
    • Typ: Microsoft Entra-program-ID
    • Källa: Fabrikams Microsoft Entra-klientorganisation
  • Artefakt B
    • Typ: Anpassad Fabrikam-auktoriseringsartefakt (utfärdad antingen av Microsoft Entra-ID eller en annan auktoriseringstjänst)
  • Artefakt C
  • Artefakt D
    • Typ: Åtkomsttoken för Azure Communication Services
    • Målgrupp: Azure Communication Services, dataplan
    • Resurs-ID för Azure Communication Services: Fabrikams Azure Communication Services Resource ID

Fall 2: Exempel på ett program med flera klientorganisationer

Contoso-företaget har skapat ett program för externa kunder. Det här programmet använder anpassad autentisering i Contosos egen infrastruktur. Contoso använder en anslutningssträng för att hämta token från Fabrikams program.

Ett sekvensdiagram som visar hur Contoso-programmet autentiserar Fabrikam-användare med Contosos egen Azure Communication Services-resurs.

Följande sekvensdiagram beskriver multitenantautentisering.

Ett sekvensdiagram som beskriver autentisering av Microsoft 365-användare och Azure Communication Services-åtkomsttoken för Microsoft Entra-program med flera klienter.

Innan vi börjar:

  • Alice eller hennes Microsoft Entra-administratör måste ge Contosos Microsoft Entra-programmedgivande innan det första försöket att logga in. Läs mer om medgivande.

Steg:

  1. Autentisera Alice med fabrikam-programmet: Alice autentiseras via Fabrikams program. Ett OAuth-standardflöde med Microsoft Authentication Library (MSAL) används. Se till att du konfigurerar MSAL med rätt utfärdare. Om autentiseringen lyckas tar Contoso-klientprogrammet emot en Microsoft Entra-åtkomsttoken med värdet A1 och ett objekt-ID för en Microsoft Entra-användare med värdet A2. Tokeninformation beskrivs nedan. Autentisering från utvecklarperspektivet utforskas i den här snabbstarten.
  2. Hämta en åtkomsttoken för Alice: Contoso-programmet med hjälp av en anpassad autentiseringsartefakt med värde B utför auktoriseringslogik för att avgöra om Alice har behörighet att byta Microsoft Entra-åtkomsttoken mot en Åtkomsttoken för Azure Communication Services. Efter en lyckad auktorisering utför Contoso-programmet kontrollplanslogik med artefakter A1, A2och A3. En Åtkomsttoken D för Azure Communication Services genereras för Alice i Contoso-programmet. Den här åtkomsttoken kan användas för dataplansåtgärder i Azure Communication Services, till exempel Samtal. Artefakterna A2 och A3 skickas tillsammans med artefakten A1. Verifieringen säkerställer att Microsoft Entra-token har utfärdats till den förväntade användaren. Programmet hindrar angripare från att använda Microsoft Entra-åtkomsttoken som utfärdats till andra program eller andra användare. Mer information om hur du hämtar artefakter finns i Ta emot Microsoft Entra-användartoken och objekt-ID via MSAL-biblioteket och Hämta ett program-ID.A
  3. Ring Bob: Alice ringer ett anrop till Microsoft 365-användaren Bob med Fabrikams program. Samtalet sker via anropande SDK med en åtkomsttoken för Azure Communication Services. Läs mer om att utveckla appar för Microsoft 365-användare i den här snabbstarten.

Artefakter:

  • Artefakt A1
    • Typ: Microsoft Entra-åtkomsttoken
    • Målgrupp: Azure Communication Services, kontrollplan
    • Källa: Contoso-programregistreringens Microsoft Entra-klientorganisation
    • Behörighet: https://auth.msft.communication.azure.com/Teams.ManageCalls, https://auth.msft.communication.azure.com/Teams.ManageChats
  • Artefakt A2
    • Typ: Objekt-ID för en Microsoft Entra-användare
    • Källa: Fabrikams Microsoft Entra-klientorganisation
    • Utfärdare: https://login.microsoftonline.com/<tenant>/ eller https://login.microsoftonline.com/organizations/ (baserat på ditt scenario )
  • Artefakt A3
    • Typ: Microsoft Entra-program-ID
    • Källa: Contoso-programregistreringens Microsoft Entra-klientorganisation
  • Artefakt B
    • Typ: Anpassad Contoso-auktoriseringsartefakt (utfärdad antingen av Microsoft Entra-ID eller en annan auktoriseringstjänst)
  • Artefakt C
  • Artefakt D
    • Typ: Åtkomsttoken för Azure Communication Services
    • Målgrupp: Azure Communication Services, dataplan
    • Resurs-ID för Azure Communication Services: Contosos Azure Communication Services Resource ID

Nästa steg

Följande exempelappar kan vara intressanta för dig:

  • Prova exempelappen, som visar en process för att hämta åtkomsttoken för Azure Communication Services för Microsoft 365-användare i mobil- och skrivbordsprogram.

  • Om du vill se hur Åtkomsttoken för Azure Communication Services för Microsoft 365-användare hämtas i ett ensidesprogram kan du kolla in en SPA-exempelapp.

  • Mer information om en serverimplementering av en autentiseringstjänst för Azure Communication Services finns i hero-exemplet för autentiseringstjänsten.