Report #22607
[bug\_fix] AADSTS700022: The provided client secret has expired
Generate a new client secret in the Azure AD App Registration \(Certificates & Secrets blade\), copy the new secret value, and update the application's configuration \(environment variable, Key Vault, or secret store\) with the new secret, then revoke the expired secret.
Journey Context:
Developer runs an application that has been working for months using Azure AD client secret authentication. Suddenly it fails with 'AADSTS700022: The provided client secret has expired' or 'AADSTS5000113: The client secret has expired'. They check the App Registration in Azure Portal -> Certificates & Secrets. They see the client secret shows 'Expired' under status and the expiration date was yesterday. The rabbit hole: they check their key vault or environment variable where the secret is stored—it has the correct value they copied 2 years ago, but the metadata in Azure AD says it's expired. They consider extending the expiration, but Azure AD doesn't allow extending existing secrets—you must create a new one. They realize the application was using a hardcoded secret or an environment variable that hasn't been rotated. The fix works because generating a new secret creates new credentials with a future expiration date, and updating the application's configuration allows it to authenticate successfully again using the new valid secret.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T16:21:09.704371+00:00— report_created — created