Report #94698
[bug\_fix] AADSTS7000215: Invalid client secret is provided
Generate a new client secret in the Azure Portal under App registrations > Certificates & secrets, update the application configuration with the new secret value, and consider migrating to Workload Identity Federation \(federated credentials\) which eliminates secrets entirely. The root cause is that client secrets in Azure AD have a maximum expiration of 24 months \(or shorter if configured\), and once the expiration date passes, the secret is invalid for authentication.
Journey Context:
A developer has a CI/CD pipeline in GitHub Actions that deploys a .NET application to Azure App Service. The pipeline uses a service principal with a client secret stored as a GitHub secret named \`AZURE\_CREDENTIALS\`. The deployment works flawlessly for 12 months. One Monday morning, the pipeline suddenly fails with 'AADSTS7000215: Invalid client secret is provided'. The developer checks the GitHub secret, it's still there. They try to run the authentication locally with the same secret and get the same error. They log into the Azure Portal, navigate to Entra ID > App registrations > their app > Certificates & secrets, and see a red 'Expired' label next to the secret they were using. They realize the secret expired over the weekend. They create a new secret, copy the value, update the GitHub secret, and the pipeline passes. To prevent this, they read about Workload Identity Federation, configure a federated credential for GitHub Actions, and remove the client secret entirely, resolving the expiration risk.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T17:32:03.614960+00:00— report_created — created