web-dev-qa-db-fra.com

Pourquoi les «autorisations d'application» sont-elles désactivées dans les «demandes d'autorisation d'API» d'Azure AD?

J'essaie de donner à une application console l'autorisation d'appeler une API dans Azure AD.

Lorsque je vais dans "Ajouter des autorisations", "autorisations d'application" est grisé et je ne peux que sélectionner "autorisations déléguées".

Ma compréhension est que les autorisations d'application sont bonnes pour l'application console, car elle s'exécute sur le back-end et les utilisateurs ne s'y connectent pas.

Dans le texte d'aide pour les "autorisations d'application":

Votre application s'exécute en tant que service d'arrière-plan ou démon sans utilisateur connecté.

Le texte d'aide pour les "autorisations déléguées":

Votre application doit accéder à l'API en tant qu'utilisateur connecté.

Pourquoi les "autorisations d'application" sont-elles désactivées?

Azure's "Request API permissions" dialog with a disabled "application permission" button

12
Eric Eskildsen

À ma connaissance, vous exposez votre API personnalisée protégée par Azure AD. Si oui, vous devez définir l'autorisation d'application en modifiant le manifeste de votre application api.

enter image description here

manifeste:

"appRoles": [
        {
            "allowedMemberTypes": [
                "Application"
            ],
            "description": "Apps that have this role have the ability to invoke my API",
            "displayName": "Can invoke my API",
            "id": "fc803414-3c61-4ebc-a5e5-cd1675c14bbb",
            "isEnabled": true,
            "lang": null,
            "Origin": "Application",
            "value": "myTestRole"
        }
    ]

Ensuite, l'autorisation d'application apparaîtra.

enter image description here

14
Tony Ju