12#include "azure/identity/detail/client_credential_core.hpp"
18namespace Azure {
namespace Identity {
namespace _detail {
19 class TokenCredentialImpl;
21 class ClientAssertionCredentialImpl final {
23 std::function<std::string(Core::Context
const&)> m_assertionCallback;
24 _detail::ClientCredentialCore m_clientCredentialCore;
25 std::unique_ptr<TokenCredentialImpl> m_tokenCredentialImpl;
26 std::string m_requestBody;
27 _detail::TokenCache m_tokenCache;
30 ClientAssertionCredentialImpl(
31 std::string
const& credentialName,
34 std::function<std::string(Core::Context
const&)> assertionCallback,
35 ClientAssertionCredentialOptions
const& options = {});
37 Core::Credentials::AccessToken GetToken(
38 std::string
const& credentialName,
39 Core::Credentials::TokenRequestContext
const& tokenRequestContext,
40 Core::Context
const& context)
const;
Client Assertion Credential and options.
Most common implementation part for a Token Credential.