Skip to content

Commit 3ad38ad

Browse files
authored
Merge pull request #201830 from AikoBB/feature/acs-identity/custom-teams-endpoint-ga
Public documentation updates for CTE GA
2 parents 9d54c77 + f9cb784 commit 3ad38ad

21 files changed

+230
-33406
lines changed

articles/communication-services/concepts/credentials-best-practices.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,10 @@ const refreshAadToken = async function (abortSignal, username) {
130130
let account = (await publicClientApplication.getTokenCache().getAllAccounts()).find(u => u.username === username);
131131

132132
const renewRequest = {
133-
scopes: ["https://auth.msft.communication.azure.com/Teams.ManageCalls"],
133+
scopes: [
134+
"https://auth.msft.communication.azure.com/Teams.ManageCalls",
135+
"https://auth.msft.communication.azure.com/Teams.ManageChats"
136+
],
134137
account: account,
135138
forceRefresh: forceRefresh
136139
};
@@ -197,7 +200,10 @@ const refreshAadToken = async function (abortSignal, username) {
197200
// Make sure the token has at least 10-minute lifetime and if not, force-renew it
198201
if (tokenResponse.expiresOn < (Date.now() + (10 * 60 * 1000))) {
199202
const renewRequest = {
200-
scopes: ["https://auth.msft.communication.azure.com/Teams.ManageCalls"],
203+
scopes: [
204+
"https://auth.msft.communication.azure.com/Teams.ManageCalls",
205+
"https://auth.msft.communication.azure.com/Teams.ManageChats"
206+
],
201207
account: account,
202208
forceRefresh: true // Force-refresh the token
203209
};

articles/communication-services/concepts/interop/custom-teams-endpoint-authentication-overview.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,22 @@ Before we begin:
3131
- The Azure Communication Services resource admin needs to grant Alice permission to perform her role. Learn more about [Azure RBAC role assignment](../../../role-based-access-control/role-assignments-portal.md).
3232

3333
Steps:
34-
1. Authenticate Alice using Azure Active Directory: Alice is authenticated using a standard OAuth flow with *Microsoft Authentication Library (MSAL)*. If authentication is successful, the client application receives an Azure AD access token, with a value of 'A'. Tokens are outlined later in this article. Authentication from the developer perspective is explored in this [quickstart](../../quickstarts/manage-teams-identity.md).
35-
1. Get an access token for Alice: The customized Teams application performs control plane logic, using artifact 'A'. This produces Azure Communication Services access token 'D' and gives Alice access. This access token can also be used for data plane actions in Azure Communication Services, like Calling.
34+
1. Authenticate Alice using Azure Active Directory: Alice is authenticated using a standard OAuth flow with *Microsoft Authentication Library (MSAL)*. If authentication is successful, the client application receives an Azure AD access token, with a value of 'A1' and an Object ID of an Azure AD user with a value of 'A2'. Tokens are outlined later in this article. Authentication from the developer perspective is explored in this [quickstart](../../quickstarts/manage-teams-identity.md).
35+
1. Get an access token for Alice: The customized Teams application performs control plane logic, using artifacts 'A1', 'A2' and 'A3'. This produces Azure Communication Services access token 'D' and gives Alice access. This access token can also be used for data plane actions in Azure Communication Services, like Calling.
3636
1. Call Bob: Alice makes a call to Teams user Bob, with Fabrikam's customized Teams app. The call takes place via the Calling SDK with an Azure Communication Services access token. Learn more about [developing custom Teams clients](../../quickstarts/voice-video-calling/get-started-with-voice-video-calling-custom-teams-client.md).
3737

3838
Artifacts:
39-
- Artifact A
39+
- Artifact A1
4040
- Type: Azure AD access token
4141
- Audience: _`Azure Communication Services`_ — control plane
4242
- Azure AD application ID: Fabrikam's _`Azure AD application ID`_
43-
- Permission: _`https://auth.msft.communication.azure.com/Teams.ManageCalls`_
43+
- Permissions: _`https://auth.msft.communication.azure.com/Teams.ManageCalls`_, _`https://auth.msft.communication.azure.com/Teams.ManageChats`_
44+
- Artifact A2
45+
- Type: Object ID of an Azure AD user
46+
- Azure AD application ID: Fabrikam's _`Azure AD application ID`_
47+
- Artifact A3
48+
- Type: Azure AD application ID
49+
- Azure AD application ID: Fabrikam's _`Azure AD application ID`_
4450
- Artifact D
4551
- Type: Azure Communication Services access token
4652
- Audience: _`Azure Communication Services`_ — data plane
@@ -59,17 +65,23 @@ Before we begin:
5965
- Alice or her Azure AD administrator needs to give Contoso's Azure Active Directory application consent before the first attempt to sign in. Learn more about [consent](../../../active-directory/develop/consent-framework.md).
6066

6167
Steps:
62-
1. Authenticate Alice using the Fabrikam application: Alice is authenticated through Fabrikam's customized Teams application. A standard OAuth flow with Microsoft Authentication Library (MSAL) is used. If authentication is successful, the client application, the Contoso app in this case, receives an Azure AD access token with a value of 'A'. Token details are outlined below. Authentication from the developer perspective is explored in this [quickstart](../../quickstarts/manage-teams-identity.md).
63-
1. Get an access token for Alice: The Contoso application performs control plane logic, using artifact 'A'. This generates Azure Communication Services access token 'D' for Alice within the Contoso application. This access token can be used for data plane actions in Azure Communication Services, like Calling.
68+
1. Authenticate Alice using the Fabrikam application: Alice is authenticated through Fabrikam's customized Teams application. A standard OAuth flow with Microsoft Authentication Library (MSAL) is used. If authentication is successful, the client application, the Contoso app in this case, receives an Azure AD access token with a value of 'A1' and an Object ID of an Azure AD user with a value of 'A2'. Token details are outlined below. Authentication from the developer perspective is explored in this [quickstart](../../quickstarts/manage-teams-identity.md).
69+
1. Get an access token for Alice: The Contoso application performs control plane logic, using artifacts 'A1', 'A2' and 'A3'. This generates Azure Communication Services access token 'D' for Alice within the Contoso application. This access token can be used for data plane actions in Azure Communication Services, like Calling.
6470
1. Call Bob: Alice makes a call to Teams user Bob, with Fabrikam's customized Teams app. The call takes place via the Calling SDK with an Azure Communication Services access token. Learn more about developing custom, Teams apps [in this quickstart](../../quickstarts/voice-video-calling/get-started-with-voice-video-calling-custom-teams-client.md).
6571

6672

6773
Artifacts:
68-
- Artifact A
74+
- Artifact A1
6975
- Type: Azure AD access token
7076
- Audience: Azure Communication Services — control plane
7177
- Azure AD application ID: Contoso's _`Azure AD application ID`_
72-
- Permission: _`https://auth.msft.communication.azure.com/Teams.ManageCalls`_
78+
- Permission: _`https://auth.msft.communication.azure.com/Teams.ManageCalls`_, _`https://auth.msft.communication.azure.com/Teams.ManageChats`_
79+
- Artifact A2
80+
- Type: Object ID of an Azure AD user
81+
- Azure AD application ID: Fabrikam's _`Azure AD application ID`_
82+
- Artifact A3
83+
- Type: Azure AD application ID
84+
- Azure AD application ID: Contoso's _`Azure AD application ID`_
7385
- Artifact B
7486
- Type: Custom Contoso authentication artifact
7587
- Artifact C

0 commit comments

Comments
 (0)