in src/authentication/federation.cc [21:46]
bool FederationCredentialProvider::FetchCredentialsWithSAMLAssertion(
Aws::STS::Model::AssumeRoleWithSAMLRequest& saml_request,
Aws::Auth::AWSCredentials& credentials) {
Aws::STS::Model::AssumeRoleWithSAMLOutcome outcome = sts_client->AssumeRoleWithSAML(saml_request);
bool retval = false;
if (outcome.IsSuccess()) {
const Aws::STS::Model::Credentials& new_cred = outcome.GetResult().GetCredentials();
LOG(INFO) << "Access key is " << new_cred.GetAccessKeyId().c_str() << ", secret key length is " << new_cred.GetSecretAccessKey().size();
credentials.SetAWSAccessKeyId(new_cred.GetAccessKeyId());
credentials.SetAWSSecretKey(new_cred.GetSecretAccessKey());
credentials.SetSessionToken(new_cred.GetSessionToken());
retval = true;
} else {
const auto& error = outcome.GetError();
std::string err_info = "Failed to fetch credentials, ERROR: " + error.GetExceptionName()
+ ": " + error.GetMessage();
LOG(ERROR) << "Error in FetchCredentialsWithSAMLAssertion is " << err_info.c_str();
}
return retval;
}