Unless otherwise configured, the client libraries useApplication Default Credentialsto authenticate with Google Cloud Services. While this works for most applications, in some cases you may need to override this default. You can do so by providing theUnifiedCredentialsOptionThe following example shows how to explicitly load a service account key file:
[](std::string const& keyfile) {
auto is = std::ifstream(keyfile);
is.exceptions(std::ios::badbit); // Minimal error handling in examples
auto contents = std::string(std::istreambuf_iterator<char>(is.rdbuf()), {});
auto options =
google::cloud::Options{}.set<google::cloud::UnifiedCredentialsOption>(
google::cloud::MakeServiceAccountCredentials(contents));
return google::cloud::privateca_v1::CertificateAuthorityServiceClient(
google::cloud::privateca_v1::MakeCertificateAuthorityServiceConnection(
options));
}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThe webpage provides documentation for various versions of a C++ library, ranging from version 2.11.0 up to the latest release candidate 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe content primarily details how to override default authentication credentials when using the client libraries, using \u003ca href=\"https://cloud.google.com/docs/authentication#adc\"\u003eApplication Default Credentials\u003c/a\u003e by default, for Google Cloud Services.\u003c/p\u003e\n"],["\u003cp\u003eOverriding default credentials can be done using the \u003ccode\u003eUnifiedCredentialsOption\u003c/code\u003e, and an example shows how to explicitly load a service account key file.\u003c/p\u003e\n"],["\u003cp\u003eThe example provided showcases minimal error handling for demonstration purposes and suggests consulting the \u003ca href=\"https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys\"\u003eBest practices for managing service account keys\u003c/a\u003e guide for more details.\u003c/p\u003e\n"],["\u003cp\u003eThe content also includes a reference link to \u003ca href=\"https://cloud.google.com/cpp/docs/reference/common/latest/group__guac.html\"\u003eAuthentication Components\u003c/a\u003e for those needing more information on the factory functions that create \u003ccode\u003egoogle::cloud::Credentials\u003c/code\u003e objects.\u003c/p\u003e\n"]]],[],null,[]]