Tester les autorisations de consentement spécifiques aux ressources dans Teams
Remarque
Le consentement spécifique à la ressource pour l’étendue de conversation est disponible dans préversion publique des développeurs uniquement.
Le consentement spécifique à la ressource (RSC) est une intégration de Microsoft Teams et de API Graph qui permet à votre application d’utiliser des points de terminaison d’API pour gérer des équipes— ou des conversations— spécifiques au sein d’une organisation. Pour plus d’informations, consultez consentement spécifique à la ressource (RSC) — Microsoft Teams API Graph.
Configuration requise
Vérifiez que vous vérifiez les modifications de manifeste d’application suivantes pour le consentement spécifique à la ressource avant de tester :
Autorisations RSC pour le manifeste d’application version 1.12 et ultérieure
Ajoutez une clé webApplicationInfo au manifeste de votre application avec les valeurs suivantes :
Nom | Type | Description |
---|---|---|
id |
Chaîne | Votre ID d’application Azure AD. Pour plus d’informations, consultez inscrire votre application dans le portail Azure AD. |
resource |
Chaîne | Ce champ n’a aucune opération dans RSC, mais doit être ajouté et avoir une valeur pour éviter une réponse d’erreur ; n’importe quelle chaîne le fera. |
Spécifiez les autorisations nécessaires à l’application.
Nom | Type | Description |
---|---|---|
authorization |
Objet | Liste des autorisations dont l’application a besoin pour fonctionner. Pour plus d’informations, consultez d’autorisation. |
Exemple pour RSC dans une équipe
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp"
},
"authorization": {
"permissions": {
"resourceSpecific": [
{
"name": "TeamSettings.Read.Group",
"type": "Application"
},
{
"name": "TeamSettings.ReadWrite.Group",
"type": "Application"
},
{
"name": "ChannelSettings.Read.Group",
"type": "Application"
},
{
"name": "ChannelSettings.ReadWrite.Group",
"type": "Application"
},
{
"name": "Channel.Create.Group",
"type": "Application"
},
{
"name": "Channel.Delete.Group",
"type": "Application"
},
{
"name": "ChannelMessage.Read.Group",
"type": "Application"
},
{
"name": "TeamsAppInstallation.Read.Group",
"type": "Application"
},
{
"name": "TeamsTab.Read.Group",
"type": "Application"
},
{
"name": "TeamsTab.Create.Group",
"type": "Application"
},
{
"name": "TeamsTab.ReadWrite.Group",
"type": "Application"
},
{
"name": "TeamsTab.Delete.Group",
"type": "Application"
},
{
"name": "TeamMember.Read.Group",
"type": "Application"
},
{
"name": "TeamsActivity.Send.Group",
"type": "Application"
}
]
}
}
Exemple pour RSC dans une conversation
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp"
},
"authorization": {
"permissions": {
"resourceSpecific": [
{
"name": "ChatSettings.Read.Chat",
"type": "Application"
},
{
"name": "ChatSettings.ReadWrite.Chat",
"type": "Application"
},
{
"name": "ChatMessage.Read.Chat",
"type": "Application"
},
{
"name": "ChatMember.Read.Chat",
"type": "Application"
},
{
"name": "Chat.Manage.Chat",
"type": "Application"
},
{
"name": "TeamsTab.Read.Chat",
"type": "Application"
},
{
"name": "TeamsTab.Create.Chat",
"type": "Application"
},
{
"name": "TeamsTab.Delete.Chat",
"type": "Application"
},
{
"name": "TeamsTab.ReadWrite.Chat",
"type": "Application"
},
{
"name": "TeamsAppInstallation.Read.Chat",
"type": "Application"
},
{
"name": "OnlineMeeting.ReadBasic.Chat",
"type": "Application"
},
{
"name": "Calls.AccessMedia.Chat",
"type": "Application"
},
{
"name": "Calls.JoinGroupCalls.Chat",
"type": "Application"
},
{
"name": "TeamsActivity.Send.Chat",
"type": "Application"
}
]
}
}
Remarque
Si l’application est destinée à prendre en charge l’installation dans les étendues d’équipe et de conversation, les autorisations d’équipe et de conversation peuvent être spécifiées dans le même manifeste sous authorization
.
Autorisations RSC pour le manifeste d’application version 1.11 et antérieure
Ajoutez une clé webApplicationInfo au manifeste de votre application avec les valeurs suivantes :
Nom | Type | Description |
---|---|---|
id |
Chaîne | Votre ID d’application Azure AD. Pour plus d’informations, consultez inscrire votre application dans le portail Azure AD. |
resource |
Chaîne | Ce champ n’a aucune opération dans RSC, mais doit être ajouté et avoir une valeur pour éviter une réponse d’erreur ; n’importe quelle chaîne le fera. |
applicationPermissions |
Tableau de chaînes | Autorisations RSC pour votre application. Pour plus d’informations, consultez autorisations spécifiques à la ressource. |
Exemple pour RSC dans une équipe
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp",
"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",
"TeamsActivity.Send.Group"
]
}
Exemple pour RSC dans une conversation
"webApplicationInfo": {
"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",
"Calls.AccessMedia.Chat",
"Calls.JoinGroupCalls.Chat",
"TeamsActivity.Send.Chat"
]
}
Remarque
Si l’application est destinée à prendre en charge l’installation dans les étendues d’équipe et de conversation, les autorisations d’équipe et de conversation peuvent être spécifiées dans le même manifeste sous applicationPermissions
.
Importante
Dans le manifeste de votre application, incluez uniquement les autorisations RSC que vous souhaitez que votre application ait.
Remarque
Si l’application est destinée à accéder aux API d’appel/média, la webApplicationInfo.Id
doit être l’ID d’application Azure AD d’un Azure Bot Service.
Tester les autorisations RSC ajoutées à une équipe à l’aide de l’application Postman
Pour vérifier si les autorisations RSC sont respectées par la charge utile de la demande d’API, vous devez copier le code de test JSON RSC pour les d’équipe dans votre environnement local et mettre à jour les valeurs suivantes :
azureADAppId
: ID d’application Azure AD de votre application.azureADAppSecret
: mot de passe de votre application Azure AD.token_scope
: l’étendue est requise pour obtenir un jeton. Définissez la valeur surhttps://graph.microsoft.com/.default
.teamGroupId
: vous pouvez obtenir l’ID de groupe d’équipe à partir du client Teams comme suit :- Dans le client Teams, sélectionnez Teams dans la barre de navigation située à l’extrême gauche.
- Sélectionnez l’équipe dans laquelle l’application est installée dans le menu déroulant.
- Sélectionnez l’icône Autres options (⋯).
- Sélectionnez Obtenir le lien vers l’équipe.
- Copiez et enregistrez la valeur groupId à partir de la chaîne.
Tester les autorisations RSC ajoutées à une conversation à l’aide de l’application Postman
Pour vérifier si les autorisations RSC sont respectées par la charge utile de la demande d’API, vous devez copier le code de test JSON RSC pour les conversations dans votre environnement local et mettre à jour les valeurs suivantes :
azureADAppId
: ID d’application Azure AD de votre application.azureADAppSecret
: mot de passe de votre application Azure AD.token_scope
: l’étendue est requise pour obtenir un jeton. Définissez la valeur surhttps://graph.microsoft.com/.default
.tenantId
: nom ou ID d’objet Azure AD de votre locataire.chatId
: vous pouvez obtenir l’ID du thread de conversation à partir du client web Teams comme suit :- Dans le client web Teams, sélectionnez conversation dans la barre de navigation située à l’extrême gauche.
- Sélectionnez la conversation dans laquelle l’application est installée dans le menu déroulant.
- Copiez l’URL web et enregistrez l’ID de thread de conversation à partir de la chaîne.
Utiliser Postman
- Ouvrez l’application Postman.
- Sélectionnez Fichier>Importer>Importer le fichier pour charger le fichier JSON mis à jour à partir de votre environnement.
- Sélectionnez l’onglet Collections.
- Sélectionnez le chevron> à côté de Test RSC pour développer la vue détaillée et voir les demandes API.
Exécutez l’intégralité de la collection d’autorisations pour chaque appel d’API. Les autorisations que vous avez spécifiées dans le manifeste de votre application doivent réussir, tandis que celles qui ne sont pas spécifiées doivent échouer avec un code d’état HTTP 403. Vérifiez tous les codes d’état de réponse pour vérifier que le comportement des autorisations RSC dans votre application répond aux attentes.
Remarque
Pour tester des appels d’API DELETE et READ spécifiques, ajoutez ces scénarios d’instance au fichier JSON.
Tester les autorisations RSC révoquées à l’aide de Postman
- Désinstallez l’application de la ressource spécifique.
- Suivez les étapes pour la conversation ou l’équipe :
- Vérifiez tous les codes d’état de réponse pour vérifier que les appels d’API spécifiques ont échoué avec un code d’état HTTP 403.