This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/python/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-python.
MIT License
4.63k
stars
2.84k
forks
source link
BearerTokenAuthenticationPolicy should support CAE token revocation challenges by default #37524
validate that the error value is "insufficient_claims"
capture the claims value and decode it from base64 encoding to a string
Pass the string value of the un-encoded claims to the TokenCredential via the TokenRequestContext or equivalent for your language via the Claims property
Ensure that any local token caching is bypassed in the policy when the claims are populated from a CAE challenge
Authorize the original request with the new token and send it through the pipeline again
Return any response to the caller (don't try to handle a second challenge)
This feature entails adding CAE support for all clients lacking a custom challenge handler i.e., everyone except Key Vault and Storage.
Adding support involves adding logic to your BearerTokenAuthenticationPolicy such that it does the following:
error
value is "insufficient_claims"claims
value and decode it from base64 encoding to a stringclaims
to theTokenCredential
via theTokenRequestContext
or equivalent for your language via theClaims
propertyExample PRs: https://github.com/Azure/azure-sdk-for-go/pull/23414 https://github.com/Azure/azure-sdk-for-net/pull/46277