azure-cli: `az login` fails: OSError: [WinError -2146893813]
This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az login
Errors:
The command failed with an unexpected error. Here is the traceback:
[WinError -2146893813] : ''
Traceback (most recent call last):
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 657, in execute
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 720, in _run_jobs_serially
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 691, in _run_job
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/profile/custom.py", line 145, in login
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/_profile.py", line 155, in login
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/auth/identity.py", line 121, in login_with_auth_code
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 1488, in acquire_token_interactive
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oidc.py", line 280, in obtain_token_by_browser
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oauth2.py", line 660, in obtain_token_by_browser
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 135, in obtain_token_by_auth_code_flow
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oidc.py", line 204, in obtain_token_by_auth_code_flow
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oauth2.py", line 548, in obtain_token_by_auth_code_flow
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oauth2.py", line 714, in _obtain_token_by_authorization_code
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oidc.py", line 115, in _obtain_token
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oauth2.py", line 771, in _obtain_token
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 523, in <lambda>
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/token_cache.py", line 307, in add
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/token_cache.py", line 113, in add
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/token_cache.py", line 184, in __add
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/token_cache.py", line 44, in modify
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/token_cache.py", line 35, in _reload_if_necessary
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/persistence.py", line 172, in load
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/windows.py", line 111, in unprotect
OSError: [WinError -2146893813] : ''
To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.
- Put any pre-requisite steps here…
az login
Expected Behavior
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.8.9
Installer: MSI
azure-cli 2.30.0
Additional Context
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 5
- Comments: 46 (16 by maintainers)
Update:
I tried using the command with a different windows user account and it worked fine. So i deleted the
C:\Users\<user>\.azure
And it works.
Maybe, upgrade comand should be updated to remove the conflictual configuration.
Hi Jiasli, My issue was resolved after deleting all the files and folders under C:\Users<username>.azure folder and tried to reinstall Azure CLI from windows powershell(run as Administrator) with the below command. It’s working fine now.
Command:
$ProgressPreference = ‘SilentlyContinue’; Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList ‘/I AzureCLI.msi /quiet’; rm .\AzureCLI.msi
Thanks!!
Questions
~/.azure
folder from another computer or mounted it into a container?Workaround
First, you may try to clear the credential cache and re-login:
If this still doesn’t help, you may temporarily turn off token cache encryption. (⚠ This is an internal experimental config option. We may change it or drop it anytime.)
The solution was to delete files in $HOME/.azure
I had the same issue with az version 2.49.0. I’m running Windows 10. I did not change my password in the past few weeks, and I never used the azure client on this computer. This is a company device, and I also didn’t use the azure client on my previous ones. Until now, I connected to a jumphost via ssh that had the azure cli installed, but now I can’t because our infra department changed their MFA policy, and I can only use azure cli on the same computer on which I opened the browser and logged in. I deleted the .azure folder and reinstalled azure cli. az account clear produced the same error. Nothing helped, except for
az config set core.encrypt_token_cache=false
Now it works. But it keeps me wondering what else is broken or will be in the future. It’s an “experimental feature” anyway.
Microsoft, why can’t we have nice tools? Or proper error messages? Or our problems taken care of?
set core.encrypt _token_cache=false is always the answer. Every time it happens to me or anyone i know, anyway
az login
It did open in the browser all ok, and got this in the console
You need to reticulate your splines.
For me worked removing .azure folder: C:\users<your user>.azure
Before it I’ve executed the command too: az upgrade
But removing folder just could works, The problem I think was when I used Az Cloud Shell and Powershell togheter
I ran in to the same issue today. I had a password change several days ago, needed to run an az command today which prompted me that the grant was no longer valid. Was able to az login again and work as expected. Several hours later, I started seeing this issue with any az command. I was able to move forward by deleting msal_token.cache.bin and msal_http_cache.bin and relogging in.
The old ADAL-based Azure CLI saves tokens to
~/.azure/accessTokens.json
, while the new MSAL-based Azure CLI saves tokens to~/.azure/msal_token_cache.json
or~/.azure/msal_token_cache.bin
(enrypted), so they work independently.Congrats @vperala for recovering from the issue. Can you tell us more on the history of that
C:\Users\username\.azure
folder? Did you manually copy it from a different computer?+ MSAL developer @rayluo
Same as https://github.com/Azure/azure-cli/issues/17186 happened for the old beta version.
@vperala, have you copied
.azure
from/to another computer? Could you share the detailed steps you followed to trigger this error? Thanks.Probably. Yes it was running as an account that didn’t necessarily log in and I didn’t think that should be a requirement? I switched to Linux to solve this problem 😃
I ran into this as well on a Windows VM where I ran az login --tenant {tenant name} for the first time after reseting my password on the VM through the Azure portal (maybe that has the same affect of resetting the password from computer management which causes this issue?).
In addition to what kierke-gaard got, I got a message with a bit more info when I passed the “–debug” option:
msal_extensions.persistence.PersistenceDecryptionError: [Errno -2146893813] Decryption failed: [Errno -2146893813] Key not valid for use in specified state. App developer may consider this guidance: https://github.com/AzureAD/microsoft-authentication-extensions-for-python/wiki/PersistenceDecryptionError: 'C:\\Users\\myuser\\.azure\\msal_token_cache.bin
Based on that Github wiki in the error message, I figured that the file it printed at the end was the file it was having trouble with (and likely got corrupted with the password reset), so I moved that to my home directory, ran the “az login --tenant {tenant name}” command again, and everything worked! It looks like it regenerated that file with the new login.
After I changed my windows 11 password, I couldn’t use my az cli anymore. For whatever command I’m getting: “Decryption failed: [WinError -2146893813] Key not valid for use in specified state… App developer may consider this guidance: https://github.com/AzureAD/microsoft-authentication-extensions-for-python/wiki/PersistenceDecryptionError”
After deleting in the .azure folder msal_*.bin and relogging it works like a charm again
I started getting the error in 2.36.0. Tried upgrading to 2.39.0 but continued to get the same error. Deleting the
.Azure
worked like a charm for me.From a fresh machine installation of Windows 11, Azure CLI installed and upgraded by using chocolatey. The first login was after the upgrade, where I received the error within #22937. Once the C:\Users<user>.azure folder had been removed authentication worked.
Agree with @jiasli 's triage. By the way, a suggestion to @jiasli : you can convert this issue into a Q&A in Az CLI’s Github Discussion, and then select your answer as “chosen answer”. This way, it remains visible to future customers, therefore you can safely close those stale issues like #17186.
Or even better, either Az CLI or MSAL EX could perhaps catch that exception and convert it to something like
RuntimeError: Unable to decrypt token cache. Did you copy token cache from another computer?