Bugfix for token cache search #717
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
self._get_access_token()uses token key to find a token inO(1)time complexity. However, previously we forgot to also useself._is_matching()to double check the other criteria such as scopes and - in this bugfix's case - thekey_idclaim. This PR refactors the implementation to callself._is_matching()in both theO(1)code path and the traditionalO(N)code path.This shall fix a recent bug report of false-positive cache hit for Ssh Certificate acquisition.
Install this by. Merged topython -m pip install --force-reinstall "git+https://github.com/AzureAD/microsoft-authentication-library-for-python.git@bugfix-token-cache-search"devnow.Thanks for the testing done by @vthiebaut10 , this PR will fix Azure/azure-cli#29006