You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/communication-services/concepts/identity-model.md
+9-8Lines changed: 9 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,15 +129,15 @@ Azure Communication Services now supports Microsoft Entra ID authentication, all
129
129
130
130
The following sections will guide you through the essential aspects of Microsoft Entra ID integration:
131
131
132
-
- How to create and manage access tokens: [Access tokens with Microsoft Entra ID](#access-tokens-with-microsoft-entra-id).
133
-
- How to implement a client-server architecture with Microsoft Entra ID: [Client-server architecture for the Microsoft Entra ID](#client-server-architecture-for-the-microsoft-entra-id).
132
+
- How to obtain and manage access tokens: [Access tokens with Microsoft Entra ID](#access-tokens-with-microsoft-entra-id).
133
+
- How to implement a client architecture with Microsoft Entra ID: [Client architecture for the Microsoft Entra ID](#client-architecture-for-the-microsoft-entra-id).
134
134
- Current Limitations and Recommended Guidance: [Limitations](#limitations).
135
135
136
136
### Access tokens with Microsoft Entra ID
137
137
138
138
Only Azure Communication Services access tokens are supported for authentication and authorization in Azure Communication Services, including chat and call functionalities. For more on token structure and management, see [Access tokens](#access-tokens).
139
139
140
-
With Microsoft Entra ID integration, you authenticate users via Entra ID, obtain an Entra ID user access token with API permissions for the Azure Communication Services Clients application, and exchange it for an Azure Communication Services access token. The Azure Communication Services Common SDKs offer seamless authentication by automatically exchanging the Entra ID user access token for an Azure Communication Services access token in the background. To enable this, initialize the [CommunicationTokenCredential](./credentials-best-practices.md#communication-token-credential) class with `EntraCommunicationTokenCredentialOptions` and use the credential for chat and calling features.
140
+
With Microsoft Entra ID integration, you authenticate users via Entra ID, obtain an Entra ID user access token with API permissions for the Azure Communication Services Clients application, and exchange it for an Azure Communication Services access token. The Azure Communication Services Common SDKs offer seamless authentication by automatically obtaining an Azure Communication Services access token for Entra ID user. For more information on how to implement the logic with Azure Communication Services Common SDK, see [Obtain access tokens for Microsoft Entra ID users](../quickstarts/identity/entra-id-authentication-integration.md#developer-actions)
141
141
142
142
The API permissions for the Azure Communication Services Clients application are named consistently with the Azure Communication Services access token scopes described in the sections [Chat token scopes](#chat-token-scopes) and [VoIP token scopes](#voip-token-scopes). The following table shows the mapping between API permissions and the access token scopes:
143
143
@@ -152,29 +152,30 @@ The API permissions for the Azure Communication Services Clients application are
152
152
153
153
Azure Communication Services access tokens are issued with the same expiration as the Microsoft Entra ID user access token.
154
154
155
-
### Client-server architecture for the Microsoft Entra ID
155
+
### Client architecture for the Microsoft Entra ID
156
156
With Microsoft Entra ID integration, you can simplify your architecture by directly using Entra ID for authentication and authorization. The following steps outline the process:
157
157
158
158
:::image type="content" source="./media/entra-client-server-architecture.png" alt-text="Diagram that shows the Microsoft Entra ID integration architecture." border="false":::
159
159
160
160
1. A user starts the client application.
161
161
2. The client application authenticates the user via Microsoft Entra ID. The client application obtains an Entra ID user access token with API permissions for the Azure Communication Services Clients application.
162
-
3. The client application exchanges the Entra ID user access token for an Azure Communication Services access token using one of the following methods:
163
-
1. Using the Azure Communication Services Common SDKs: The client initializes the [CommunicationTokenCredential](./credentials-best-practices.md#communication-token-credential) with Entra ID token credential options, which automatically handles the background exchange of the Entra ID user access token for an Azure Communication Services access token. The application then uses this credential to access Azure Communication Services APIs.
164
-
1. Custom implementation: The client application calls the [Exchange Entra ID token for Azure Communication Services access token](/rest/api/communication/identity/entra-id-token) API to exchange the Entra ID user access token for an Azure Communication Services access token. The resulting Azure Communication Services access token is then used to access the APIs.
162
+
3. The client application obtains an Azure Communication Services access token for Entra ID user using one of the following methods:
163
+
1. Using the Azure Communication Services Common SDKs: The client initializes the [CommunicationTokenCredential](./credentials-best-practices.md#communication-token-credential) with Entra ID token credential options, which automatically handles obtaining an Azure Communication Services access token for Entra ID user in the background. The application then uses this credential to access Azure Communication Services APIs.
164
+
1. Custom implementation: The client application calls the [Exchange Entra ID token for Azure Communication Services access token](/rest/api/communication/identity/entra-id-token) API to obtain an Azure Communication Services access token. The resulting Azure Communication Services access token is then used to access Azure Communication Services APIs.
165
165
166
166
This architecture eliminates the need for a separate identity management service, as Microsoft Entra ID handles user authentication and authorization directly.
167
167
168
168
### Limitations
169
169
The Microsoft Entra ID integration is currently in public preview and has the following limitations:
170
170
-[Continuous Access Evaluation](/entra/identity/conditional-access/concept-continuous-access-evaluation) is not available. To revoke access tokens immediately, follow the instructions in [Create and manage access tokens for end users](../quickstarts/identity/access-tokens.md#create-and-manage-access-tokens-for-end-users).
171
-
- Removing an Entra user does not automatically remove all associated data from the Communication Services resource. To ensure all data is deleted, follow the instructions in [Create and manage access tokens for end users](../quickstarts/identity/access-tokens.md#create-and-manage-access-tokens-for-end-users).
171
+
- Removing an Entra ID user does not automatically remove all associated data from the Communication Services resource. To ensure all data is deleted, follow the instructions in [Create and manage access tokens for end users](../quickstarts/identity/access-tokens.md#create-and-manage-access-tokens-for-end-users).
172
172
173
173
## Next steps
174
174
175
175
* To issue tokens, see [Create and manage access tokens for end users](../quickstarts/identity/access-tokens.md).
176
176
* For an introduction to authentication, see [Authenticate to Azure Communication Services](./authentication.md).
177
177
* For details on how authentication works in single-tenant and multitenant Microsoft Entra ID scenarios, refer to [Single-tenant and multitenant authentication for Microsoft Entra ID users](./entra-id-authentication-overview.md).
178
+
* For a quickstart on how to authenticate Microsoft Entra ID users, see [Authenticate Microsoft Entra ID users](../quickstarts/identity/entra-id-authentication-integration.md).
178
179
* To read about data residency and privacy, see [Region availability and data residency](./privacy.md).
179
180
* For a full sample of a simple identity management service, see [Trusted service tutorial](../tutorials/trusted-service-tutorial.md).
180
181
* For a more advanced identity management sample which integrates with Entra ID and Microsoft Graph, see [Authentication service hero sample](../samples/trusted-auth-sample.md).
0 commit comments