Skip to content

Commit 38f166a

Browse files
authored
Rework websocket config to always create a credentials provider manually; fixes x509 bug and makes sample config less confusing (#134)
1 parent fb229ce commit 38f166a

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

samples/mqtt/basic_pub_sub/main.cpp

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -272,15 +272,14 @@ int main(int argc, char *argv[])
272272
}
273273
else if (useWebSocket)
274274
{
275-
Aws::Iot::WebsocketConfig config(signingRegion, &bootstrap);
275+
std::shared_ptr<Aws::Crt::Auth::ICredentialsProvider> provider = nullptr;
276276

277277
Aws::Crt::Http::HttpClientConnectionProxyOptions proxyOptions;
278278
if (!proxyHost.empty())
279279
{
280280
proxyOptions.HostName = proxyHost;
281281
proxyOptions.Port = proxyPort;
282282
proxyOptions.AuthType = Aws::Crt::Http::AwsHttpProxyAuthenticationType::None;
283-
config.ProxyOptions = proxyOptions;
284283
}
285284

286285
if (useX509)
@@ -333,12 +332,26 @@ int main(int argc, char *argv[])
333332
x509Config.ProxyOptions = proxyOptions;
334333
}
335334

336-
config.CredentialsProvider = Aws::Crt::Auth::CredentialsProvider::CreateCredentialsProviderX509(x509Config);
337-
if (!config.CredentialsProvider)
338-
{
339-
fprintf(stderr, "Failure to create X509 credentials provider!\n");
340-
return -1;
341-
}
335+
provider = Aws::Crt::Auth::CredentialsProvider::CreateCredentialsProviderX509(x509Config);
336+
}
337+
else
338+
{
339+
Aws::Crt::Auth::CredentialsProviderChainDefaultConfig defaultConfig;
340+
defaultConfig.Bootstrap = &bootstrap;
341+
342+
provider = Aws::Crt::Auth::CredentialsProvider::CreateCredentialsProviderChainDefault(defaultConfig);
343+
}
344+
345+
if (!provider)
346+
{
347+
fprintf(stderr, "Failure to create credentials provider!\n");
348+
return -1;
349+
}
350+
351+
Aws::Iot::WebsocketConfig config(signingRegion, provider);
352+
if (!proxyHost.empty())
353+
{
354+
config.ProxyOptions = proxyOptions;
342355
}
343356

344357
builder = Aws::Iot::MqttClientConnectionConfigBuilder(config);

0 commit comments

Comments
 (0)