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).
Följande sekvensdiagram beskriver autentisering med en klientorganisation.
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:
- 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ärdetA2
. Token beskrivs senare i den här artikeln. Autentisering från utvecklarperspektivet utforskas i den här snabbstarten. - 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 artefakterA1
,A2
ochA3
. ÅtkomsttokenD
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. ArtefakternaA2
ochA3
skickas tillsammans med artefaktenA1
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
- 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
- Typ: Resursauktoriseringsartefakt för Azure Communication Services.
- Källa: HTTP-huvud för auktorisering med antingen en ägartoken för Microsoft Entra-autentisering eller en Hash-baserad HMAC-nyttolast (Message Authentication Code) och en signatur för åtkomst till nyckelbaserad autentisering.
- 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.
Följande sekvensdiagram beskriver multitenantautentisering.
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:
- 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ärdetA2
. Tokeninformation beskrivs nedan. Autentisering från utvecklarperspektivet utforskas i den här snabbstarten. - 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 artefakterA1
,A2
ochA3
. En ÅtkomsttokenD
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. ArtefakternaA2
ochA3
skickas tillsammans med artefaktenA1
. 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
- 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>/
ellerhttps://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
- Typ: Resursauktoriseringsartefakt för Azure Communication Services.
- Källa: HTTP-huvud för auktorisering med antingen en ägartoken för Microsoft Entra-autentisering eller en Hash-baserad HMAC-nyttolast (Message Authentication Code) och en signatur för åtkomst till nyckelbaserad autentisering
- 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
- Läs mer om autentisering.
- Prova den här snabbstarten för att autentisera Microsoft 365-användare.
- Prova den här snabbstarten för att anropa en Microsoft 365-användare.
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.