diff --git a/sdk/attestation/azure-security-attestation/src/attestation_administration_client.cpp b/sdk/attestation/azure-security-attestation/src/attestation_administration_client.cpp index a600b27a3..a9a47c737 100644 --- a/sdk/attestation/azure-security-attestation/src/attestation_administration_client.cpp +++ b/sdk/attestation/azure-security-attestation/src/attestation_administration_client.cpp @@ -49,8 +49,8 @@ AttestationAdministrationClient::AttestationAdministrationClient( std::vector> perRetrypolicies; if (credential) { - Azure::Core::Credentials::TokenRequestContext const tokenContext - = {{"https://attest.azure.net/.default"}}; + Azure::Core::Credentials::TokenRequestContext tokenContext; + tokenContext.Scopes = {"https://attest.azure.net/.default"}; perRetrypolicies.emplace_back( std::make_unique(credential, tokenContext)); diff --git a/sdk/attestation/azure-security-attestation/src/attestation_client.cpp b/sdk/attestation/azure-security-attestation/src/attestation_client.cpp index 8786466e1..72458a1d3 100644 --- a/sdk/attestation/azure-security-attestation/src/attestation_client.cpp +++ b/sdk/attestation/azure-security-attestation/src/attestation_client.cpp @@ -38,8 +38,8 @@ AttestationClient::AttestationClient( std::vector> perRetrypolicies; if (credential) { - Azure::Core::Credentials::TokenRequestContext const tokenContext - = {{"https://attest.azure.net/.default"}}; + Azure::Core::Credentials::TokenRequestContext tokenContext; + tokenContext.Scopes = {"https://attest.azure.net/.default"}; perRetrypolicies.emplace_back( std::make_unique(credential, tokenContext)); diff --git a/sdk/core/azure-core/test/ut/bearer_token_authentication_policy_test.cpp b/sdk/core/azure-core/test/ut/bearer_token_authentication_policy_test.cpp index a9fe6711b..48bacd8fd 100644 --- a/sdk/core/azure-core/test/ut/bearer_token_authentication_policy_test.cpp +++ b/sdk/core/azure-core/test/ut/bearer_token_authentication_policy_test.cpp @@ -53,10 +53,12 @@ TEST(BearerTokenAuthenticationPolicy, InitialGet) std::vector> policies; + Azure::Core::Credentials::TokenRequestContext tokenRequestContext; + tokenRequestContext.Scopes = {"https://microsoft.com/.default"}; + policies.emplace_back( std::make_unique( - std::make_shared(accessToken), - Azure::Core::Credentials::TokenRequestContext{{"https://microsoft.com/.default"}})); + std::make_shared(accessToken), tokenRequestContext)); policies.emplace_back(std::make_unique()); @@ -86,10 +88,12 @@ TEST(BearerTokenAuthenticationPolicy, ReuseWhileValid) std::vector> policies; + Azure::Core::Credentials::TokenRequestContext tokenRequestContext; + tokenRequestContext.Scopes = {"https://microsoft.com/.default"}; + policies.emplace_back( std::make_unique( - std::make_shared(accessToken), - Azure::Core::Credentials::TokenRequestContext{{"https://microsoft.com/.default"}})); + std::make_shared(accessToken), tokenRequestContext)); policies.emplace_back(std::make_unique()); @@ -128,10 +132,12 @@ TEST(BearerTokenAuthenticationPolicy, RefreshNearExpiry) std::vector> policies; + Azure::Core::Credentials::TokenRequestContext tokenRequestContext; + tokenRequestContext.Scopes = {"https://microsoft.com/.default"}; + policies.emplace_back( std::make_unique( - std::make_shared(accessToken), - Azure::Core::Credentials::TokenRequestContext{{"https://microsoft.com/.default"}})); + std::make_shared(accessToken), tokenRequestContext)); policies.emplace_back(std::make_unique()); @@ -170,10 +176,12 @@ TEST(BearerTokenAuthenticationPolicy, RefreshAfterExpiry) std::vector> policies; + Azure::Core::Credentials::TokenRequestContext tokenRequestContext; + tokenRequestContext.Scopes = {"https://microsoft.com/.default"}; + policies.emplace_back( std::make_unique( - std::make_shared(accessToken), - Azure::Core::Credentials::TokenRequestContext{{"https://microsoft.com/.default"}})); + std::make_shared(accessToken), tokenRequestContext)); policies.emplace_back(std::make_unique()); diff --git a/sdk/identity/azure-identity/test/e2e/azure_identity_e2e_test.cpp b/sdk/identity/azure-identity/test/e2e/azure_identity_e2e_test.cpp index 8afb6760f..329348a3a 100644 --- a/sdk/identity/azure-identity/test/e2e/azure_identity_e2e_test.cpp +++ b/sdk/identity/azure-identity/test/e2e/azure_identity_e2e_test.cpp @@ -60,6 +60,7 @@ int main(int argc, char** argv) using Azure::DateTime; using Azure::Core::Context; using Azure::Core::Credentials::TokenCredentialOptions; + using Azure::Core::Credentials::TokenRequestContext; using Azure::Identity::ManagedIdentityCredential; constexpr char const* resourceUrlEnvVarName = "AZURE_IDENTITY_TEST_VAULT_URL"; @@ -94,7 +95,10 @@ int main(int argc, char** argv) ManagedIdentityCredential credential( Environment::GetVariable("AZURE_IDENTITY_TEST_MANAGED_IDENTITY_CLIENT_ID"), options); - auto const token = credential.GetToken({{resourceUrl}}, Context()); + TokenRequestContext tokenRequestContext; + tokenRequestContext.Scopes = {resourceUrl}; + + auto const token = credential.GetToken(tokenRequestContext, Context()); std::string tokenPreview; { diff --git a/sdk/identity/azure-identity/test/ut/token_credential_impl_test.cpp b/sdk/identity/azure-identity/test/ut/token_credential_impl_test.cpp index f9bf9f7f8..11bed803f 100644 --- a/sdk/identity/azure-identity/test/ut/token_credential_impl_test.cpp +++ b/sdk/identity/azure-identity/test/ut/token_credential_impl_test.cpp @@ -272,11 +272,11 @@ TEST(TokenCredentialImpl, FormatScopes) // Spaces inside scopes get encoded, but the spaces separating scopes are not EXPECT_EQ(TokenCredentialImpl::FormatScopes({"a b", "c d", "e f"}, false), "a%20b c%20d e%20f"); - // 1 scope, './default' only, gets removed when treated as single resource + // 1 scope, '/.default' only, gets removed when treated as single resource EXPECT_EQ(TokenCredentialImpl::FormatScopes({"/.default"}, false), "%2F.default"); EXPECT_EQ(TokenCredentialImpl::FormatScopes({"/.default"}, true), ""); - // 2 scopes, './default' only + // 2 scopes, '/.default' only EXPECT_EQ( TokenCredentialImpl::FormatScopes({"/.default", "/.default"}, false), "%2F.default %2F.default"); diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_client.cpp b/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_client.cpp index 852e0b419..2158bba2d 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_client.cpp +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_client.cpp @@ -72,8 +72,8 @@ CertificateClient::CertificateClient( std::vector> perRetrypolicies; { - Azure::Core::Credentials::TokenRequestContext const tokenContext - = {{_internal::UrlScope::GetScopeFromUrl(m_vaultUrl)}}; + Azure::Core::Credentials::TokenRequestContext tokenContext; + tokenContext.Scopes = {_internal::UrlScope::GetScopeFromUrl(m_vaultUrl)}; perRetrypolicies.emplace_back( std::make_unique(credential, std::move(tokenContext))); diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/cryptography/cryptography_client.cpp b/sdk/keyvault/azure-security-keyvault-keys/src/cryptography/cryptography_client.cpp index 86a835337..435d1ffc4 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/cryptography/cryptography_client.cpp +++ b/sdk/keyvault/azure-security-keyvault-keys/src/cryptography/cryptography_client.cpp @@ -101,8 +101,8 @@ CryptographyClient::CryptographyClient( { std::vector> perRetrypolicies; { - Azure::Core::Credentials::TokenRequestContext const tokenContext - = {{_internal::UrlScope::GetScopeFromUrl(m_keyId)}}; + Azure::Core::Credentials::TokenRequestContext tokenContext; + tokenContext.Scopes = {_internal::UrlScope::GetScopeFromUrl(m_keyId)}; perRetrypolicies.emplace_back( std::make_unique(credential, tokenContext)); diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/key_client.cpp b/sdk/keyvault/azure-security-keyvault-keys/src/key_client.cpp index e2456c396..fda932f13 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/key_client.cpp +++ b/sdk/keyvault/azure-security-keyvault-keys/src/key_client.cpp @@ -72,8 +72,8 @@ KeyClient::KeyClient( { std::vector> perRetrypolicies; { - Azure::Core::Credentials::TokenRequestContext const tokenContext - = {{_internal::UrlScope::GetScopeFromUrl(m_vaultUrl)}}; + Azure::Core::Credentials::TokenRequestContext tokenContext; + tokenContext.Scopes = {_internal::UrlScope::GetScopeFromUrl(m_vaultUrl)}; perRetrypolicies.emplace_back( std::make_unique(credential, std::move(tokenContext))); diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/secret_client.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/secret_client.cpp index ac05dbcdf..8379cc940 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/secret_client.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/secret_client.cpp @@ -68,8 +68,8 @@ SecretClient::SecretClient( std::vector> perRetrypolicies; { - Azure::Core::Credentials::TokenRequestContext const tokenContext - = {{_internal::UrlScope::GetScopeFromUrl(url)}}; + Azure::Core::Credentials::TokenRequestContext tokenContext; + tokenContext.Scopes = {_internal::UrlScope::GetScopeFromUrl(url)}; perRetrypolicies.emplace_back( std::make_unique(credential, tokenContext));