Updates from: 08/24/2021 03:25:23
Service Microsoft Docs article Related commit history on GitHub Change details
platform Resource Specific Consent https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/graph-api/rsc/resource-specific-consent.md
keywords: teams authorization OAuth SSO AAD rsc Graph
> [!NOTE] > Resource-specific consent for chat scope is available in [public developer preview](../../resources/dev-preview/developer-preview-intro.md) only.
-Resource-specific consent (RSC) is a Microsoft Teams and Microsoft Graph API integration that enables your app to use API endpoints to manage specific resources, either teams or chats, within an organization. The RSC permissions model enables *team owners* and *chat owners* to grant consent for an application to access and modify a team's data and a chat's data, respectively.
+Resource-specific consent (RSC) is a Microsoft Teams and Microsoft Graph API integration that enables your app to use API endpoints to manage specific resources, either teams or chats, within an organization. The RSC permissions model enables *team owners* and *chat owners* to grant consent for an application to access and modify a team's data and a chat's data, respectively.
+
+**Note:** If a chat has a meeting or a call associated with it, then the relevant RSC permissions apply to those resources as well.
## Resource-specific permissions
The following table provides resource-specific permissions for a chat:
| TeamsTab.Delete.Chat | Delete this chat's tabs. | | TeamsTab.ReadWrite.Chat | Manage this chat's tabs. | | TeamsAppInstallation.Read.Chat | Get which apps are installed in this chat. |
-| OnlineMeeting.ReadBasic.Chat | Get basic properties, such as name, schedule, organizer, and join link of a meeting associated with this chat. |
+| OnlineMeeting.ReadBasic.Chat | Read basic properties, such as name, schedule, organizer, join link, and start/end notifications, of a meeting associated with this chat. |
+| Calls.AccessMedia.Chat | Access media streams in calls associated with this chat or meeting. |
+| Calls.JoinGroupCalls.Chat | Join calls associated with this chat or meeting. |
For more details, see [chat resource-specific consent permissions](/graph/permissions-reference#chat-resource-specific-consent-permissions).
The RSC permissions are declared in your app manifest JSON file. Add a [webAppli
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX", "resource": "https://RscBasedStoreApp", "applicationPermissions": [
- "TeamSettings.Read.Group",
- "ChannelMessage.Read.Group",
- "TeamSettings.ReadWrite.Group",
- "ChannelSettings.ReadWrite.Group",
- "Channel.Create.Group",
- "Channel.Delete.Group",
- "TeamsApp.Read.Group",
- "TeamsTab.Read.Group",
- "TeamsTab.Create.Group",
- "TeamsTab.ReadWrite.Group",
- "TeamsTab.Delete.Group",
- "Member.Read.Group",
- "Owner.Read.Group"
+ "TeamSettings.Read.Group",
+ "TeamSettings.ReadWrite.Group",
+ "ChannelSettings.Read.Group",
+ "ChannelSettings.ReadWrite.Group",
+ "Channel.Create.Group",
+ "Channel.Delete.Group",
+ "ChannelMessage.Read.Group",
+ "TeamsAppInstallation.Read.Group",
+ "TeamsTab.Read.Group",
+ "TeamsTab.Create.Group",
+ "TeamsTab.ReadWrite.Group",
+ "TeamsTab.Delete.Group",
+ "TeamMember.Read.Group"
] } ```
The RSC permissions are declared in your app manifest JSON file. Add a [webAppli
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX", "resource": "https://RscBasedStoreApp", "applicationPermissions": [
- "ChatSettings.Read.Chat",
- "ChatSettings.ReadWrite.Chat",
- "ChatMessage.Read.Chat",
- "ChatMember.Read.Chat",
- "Chat.Manage.Chat",
- "TeamsTab.Read.Chat",
- "TeamsTab.Create.Chat",
- "TeamsTab.Delete.Chat",
- "TeamsTab.ReadWrite.Chat",
- "TeamsAppInstallation.Read.Chat",
- "OnlineMeeting.ReadBasic.Chat"
+ "ChatSettings.Read.Chat",
+ "ChatSettings.ReadWrite.Chat",
+ "ChatMessage.Read.Chat",
+ "ChatMember.Read.Chat",
+ "Chat.Manage.Chat",
+ "TeamsTab.Read.Chat",
+ "TeamsTab.Create.Chat",
+ "TeamsTab.Delete.Chat",
+ "TeamsTab.ReadWrite.Chat",
+ "TeamsAppInstallation.Read.Chat",
+ "OnlineMeeting.ReadBasic.Chat",
+ "Calls.AccessMedia.Chat",
+ "Calls.JoinGroupCalls.Chat"
] } ```
platform Test Resource Specific Consent https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/graph-api/rsc/test-resource-specific-consent.md
Resource-specific consent (RSC) is a Microsoft Teams and Graph API integration t
## Example for a team ```json "webApplicationInfo":{
- "id":"XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
- "resource":"https://AnyString",
- "applicationPermissions":[
- "Channel.Create.Group",
- "Channel.Delete.Group",
- "ChannelMessage.Read.Group",
- "ChannelSettings.Read.Group",
- "ChannelSettings.Edit.Group",
- "Member.Read.Group",
- "Owner.Read.Group",
- "TeamsApp.Read.Group",
- "TeamsTab.Read.Group",
- "TeamsTab.Create.Group",
- "TeamsTab.Edit.Group",
- "TeamsTab.Delete.Group",
- "TeamSettings.Read.Group",
- "TeamSettings.Edit.Group"
- ]
+ "id":"XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
+ "resource":"https://AnyString",
+ "applicationPermissions":[
+ "TeamSettings.Read.Group",
+ "TeamSettings.ReadWrite.Group",
+ "ChannelSettings.Read.Group",
+ "ChannelSettings.ReadWrite.Group",
+ "Channel.Create.Group",
+ "Channel.Delete.Group",
+ "ChannelMessage.Read.Group",
+ "TeamsAppInstallation.Read.Group",
+ "TeamsTab.Read.Group",
+ "TeamsTab.Create.Group",
+ "TeamsTab.ReadWrite.Group",
+ "TeamsTab.Delete.Group",
+ "TeamMember.Read.Group"
+ ]
} ``` ## Example for a chat ```json "webApplicationInfo":{
- "id":"XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
- "resource":"https://AnyString",
- "applicationPermissions":[
- "ChatSettings.Read.Chat",
- "ChatSettings.ReadWrite.Chat",
- "ChatMessage.Read.Chat",
- "ChatMember.Read.Chat",
- "Chat.Manage.Chat",
- "TeamsTab.Read.Chat",
- "TeamsTab.Create.Chat",
- "TeamsTab.Delete.Chat",
- "TeamsTab.ReadWrite.Chat",
- "TeamsAppInstallation.Read.Chat",
- "OnlineMeeting.ReadBasic.Chat"
- ]
+ "id":"XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
+ "resource":"https://AnyString",
+ "applicationPermissions":[
+ "ChatSettings.Read.Chat",
+ "ChatSettings.ReadWrite.Chat",
+ "ChatMessage.Read.Chat",
+ "ChatMember.Read.Chat",
+ "Chat.Manage.Chat",
+ "TeamsTab.Read.Chat",
+ "TeamsTab.Create.Chat",
+ "TeamsTab.Delete.Chat",
+ "TeamsTab.ReadWrite.Chat",
+ "TeamsAppInstallation.Read.Chat",
+ "OnlineMeeting.ReadBasic.Chat",
+ "Calls.AccessMedia.Chat",
+ "Calls.JoinGroupCalls.Chat"
+ ]
} ```
Resource-specific consent (RSC) is a Microsoft Teams and Graph API integration t
>[!NOTE] >If the app is meant to support installation in both team and chat scopes, then both team and chat permissions can be specified in the same manifest under `applicationPermissions`.
+>If the app is meant to access calling/media APIs, then the `webApplicationInfo.Id` should be the AAD app Id of an [Azure Bot Service](/graph/cloud-communications-get-started#register-a-bot).
+ ## Test added RSC permissions to a team using the Postman app To check whether the RSC permissions are being honored by the API request payload, you need to copy the [RSC JSON test code for team](test-team-rsc-json-file.md) into your local environment and update the following values: