22 votes

AADSTS50012 : Un secret client non valide est fourni lors du passage d'une application de test à une application de production.

J'ai deux applications enregistrées sous le portail Azure : une version de test et une version de production. Mon application de test fonctionne bien avec l'Id Client et le ClientSecret/AppKey que j'ai obtenu à partir des détails de l'application de test sur Azure Portal. Cependant, lorsque je passe à la version de production et que je remplace les valeurs ClientId et Secret par celles spécifiées par l'application de production que j'ai enregistrée, j'obtiens soudainement une erreur :

AdalServiceException : AADSTS70002 : Erreur de validation des informations d'identification. AADSTS50012 : Un secret client non valide a été fourni

Mais je suis presque sûr que mon secret client est correct, car je viens de copier et coller depuis le portail. Existe-t-il une solution à ce problème ?

36voto

fdulau Points 231

Encodez votre secret ( par exemple remplacez + par %2B , = par %3D etc)

0 votes

Merci de votre attention ! Mon application web a cessé de fonctionner, même si le secret était encore valable pendant des années. Un urlencode() a fait le travail pour la bibliothèque PHP utilisée ( github.com/jumbojett/OpenID-Connect-PHP ).

0 votes

Qu'en est-il de l'espace avant et après + et = ? Doit-on utiliser % ?

1 votes

Je viens de rencontrer ce problème : il est peut-être utile d'insister sur le fait que le secret du client doit être urlencodé/%- même s'il a été envoyé dans le cadre d'un en-tête d'authentification HTTP Basic où l'ensemble sera de toute façon encodé en base64.

14voto

Shawn Tabrizi Points 5018

Avez-vous essayé de régénérer simplement le secret ?

L'erreur ici est assez simple et je ne pense pas que ce soit un défaut de l'AAD.

Faites-moi savoir si ça marche pour vous !

1 votes

Mon problème était que ma clé du portail Azure avait expiré. La génération d'une nouvelle clé avec une nouvelle date d'expiration a résolu le problème.

6 votes

Je ne sais pas si cela a déjà été évoqué ici, mais j'ai corrigé cette erreur en créant une nouvelle clé secrète dans Azure Active Directory pour mon client - pas une clé dans Azure Key Vault, ce qui m'a déconcerté. Portail Azure > Active Directory > App Registrations > (votre application) > Settings > Keys. Ma clé était expirée.

4voto

Uriel Points 173

Cela peut sembler stupide, mais comme cela m'est arrivé, cela peut arriver à quelqu'un d'autre (aussi ignorant que moi) : Le code à utiliser n'est pas celui qui dit "ID secret" mais celle qui dit "valeur" .

1voto

Dans mon cas, j'avais 2 clés. J'en ai créé une troisième, qui n'a pas fonctionné. Finalement, j'ai supprimé toutes les clés et j'en ai créé une nouvelle, mais une seule. Et ça a marché.

0 votes

C'est la seule chose (parmi les autres réponses) qui a fonctionné en 2022, merci

0 votes

Même chose pour moi. Il s'agit d'un bogue de Microsoft

1voto

Le problème est le délai d'expiration du secret. Avec 6,12,18 mois il n'y a pas de problème, j'utilise azure-cli 2.26.0 Avec 24 mois, vous obtenez l'erreur :

{"error" : "invalid_client", "error_description" : "AADSTS7000215 : Le secret du client fourni n'est pas valide. \r\nTrace ID: fef57aee-deeb-47fa-ae05-ba8427cd4300 \r\nCorrelation ID: ba3cc2d5-1594-4af3-be2b-3b35e8d40e06 \r\nTimestamp : 2021-10-23 18:18:27Z","error_codes":[7000215],"timestamp":"2021-10-23 18:18:27Z","trace_id":"fef57aee-deeb-47fa-ae05-ba8427cd4300","correlation_id":"ba3cc2d5-1594-4af3-be2b-3b35e8d40e06","error_uri":"https://login.microsoftonline.com/error?code=7000215"}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X