Résoudre les erreurs HTTP 401 rencontrées lors de l’utilisation d’API

Résumé

Cet article explique comment résoudre les erreurs HTTP 401 rencontrées lors de l’utilisation d’API dans Gestion des API Azure.

Cet article est le troisième scénario du laboratoire de la série de résolution des problèmes Gestion des API Azure. Veillez à suivre les instructions de configuration du labo en fonction des instructions de la série de résolution des problèmes de gestion des API.

Version du produit d’origine : service Gestion des API
Numéro de base de connaissances d’origine : 4464930

Symptômes

L’API Echo commence à provoquer différents types d’erreurs HTTP 401 : erreurs non autorisées lors de l’exécution d’opérations. Créer une ressource et Récupérer une ressource affichent ce message d’erreur :

« statusCode » : 401,
« message » : « Accès refusé en raison d’une clé d’abonnement non valide. Veillez à fournir une clé valide pour un abonnement actif. »

Les autres opérations affichent ce message d’erreur :

« statusCode » : 401,
« message » : « Accès refusé en raison d’une clé d’abonnement manquante. Veillez à inclure la clé d’abonnement lors de l’émission de requêtes à une API. »

Résolution des problèmes

Dans le processus d’abonnement au produit d’API, vous obtenez une clé d’abonnement. Vous l’envoyez dans le cadre de l’en-tête de requête, et cela fonctionne pour n’importe quelle API de ce produit. L’en-tête de requête Ocp-Apim-Subscription-Key concerne la clé d’abonnement du produit associé à cette API. La clé est renseignée automatiquement.

Pour l’erreur Accès refusé en raison d’une clé d’abonnement non valide. Veillez à fournir une clé valide pour un abonnement actif, vous envoyez la valeur incorrecte de Ocp-Apim-Subscription-Key dans l’en-tête de la requête lorsque vous effectuez les opérations Créer une ressource et Récupérer une ressource.

Connectez-vous au portail des développeurs gestion des API et vérifiez votre clé d’abonnement pour un produit particulier en accédant à la page Profil après la connexion, comme indiqué dans l’exemple suivant :

Capture d’écran des clés d’abonnement pour les produits respectifs.

Sélectionnez Afficher pour afficher les clés d’abonnement pour les produits respectifs auxquels vous vous êtes abonné.

Vérifiez les en-têtes que vous envoyez à partir de l’onglet Test . Notez que la valeur de l’en-tête de requête Ocp-Apim-Subscription-Key est incorrecte.

Vérifiez maintenant la Frontend définition des opérations créer une ressource et récupérer des ressources sous l’onglet Création . Notez que ces opérations ont une valeur codée en dur incorrecte de l’en-tête de requête Ocp-Apim-Subscription-Key ajoutée dans l’onglet En-têtes .

Lorsque vous le supprimez, il résout le problème de clé d’abonnement non valide, mais pas l’erreur de clé d’abonnement manquante.

Vous pouvez recevoir le message d’erreur suivant :

HTTP/1.1 401 Non autorisé

Longueur du contenu : 152
Content-Type : application/json
Date : dim., 29 juil. 2018 14:29:50 GMT
Vary: Origin WWW-Authenticate: AzureApiManagementKey realm="https://pratyay.azure-api.net/echo",name="Ocp-Apim-Subscription-Key",type="header" {
« statusCode » : 401,
« message » : « Accès refusé en raison d’une clé d’abonnement manquante. Veillez à inclure la clé d’abonnement lors de l’émission de requêtes à une API. »

Accédez aux paramètres de l’API Echo et vérifiez s’il est associé à l’un des produits disponibles. Si ce n’est pas le cas, vous devez associer cette API à un produit afin d’obtenir une clé d’abonnement.

Pendant le processus d’abonnement, si vous avez créé l’instance Gestion des API, vous êtes administrateur par défaut. Cela signifie que vous êtes abonné à chaque produit.