aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/util
diff options
context:
space:
mode:
authorGravatar Yuchen Zeng <zyc@google.com>2017-12-14 11:42:07 -0800
committerGravatar Yuchen Zeng <zyc@google.com>2017-12-14 11:42:16 -0800
commit243505060acdbbd2a92a090736d6230d09993fbb (patch)
treeaced674e940abfcc727a677b95b982004464e87b /test/cpp/util
parent5d37e61d069a3d33fba15db35151d013a298537f (diff)
Support access token credential in grpc_cli
Diffstat (limited to 'test/cpp/util')
-rw-r--r--test/cpp/util/cli_credentials.cc30
1 files changed, 23 insertions, 7 deletions
diff --git a/test/cpp/util/cli_credentials.cc b/test/cpp/util/cli_credentials.cc
index f1f43f8ae0..7939186c30 100644
--- a/test/cpp/util/cli_credentials.cc
+++ b/test/cpp/util/cli_credentials.cc
@@ -22,27 +22,43 @@
DEFINE_bool(enable_ssl, false, "Whether to use ssl/tls.");
DEFINE_bool(use_auth, false, "Whether to create default google credentials.");
+DEFINE_string(access_token, "",
+ "The access token in metadata \"authorization\".");
namespace grpc {
namespace testing {
std::shared_ptr<grpc::ChannelCredentials> CliCredentials::GetCredentials()
const {
- if (!FLAGS_enable_ssl) {
- return grpc::InsecureChannelCredentials();
- } else {
+ if (!FLAGS_access_token.empty()) {
if (FLAGS_use_auth) {
- return grpc::GoogleDefaultCredentials();
- } else {
- return grpc::SslCredentials(grpc::SslCredentialsOptions());
+ fprintf(
+ stderr,
+ "warning: use_auth is set to false when access_token is provided.");
}
+
+ return grpc::CompositeChannelCredentials(
+ grpc::SslCredentials(grpc::SslCredentialsOptions()),
+ grpc::AccessTokenCredentials(FLAGS_access_token));
+ }
+
+ if (FLAGS_use_auth) {
+ return grpc::GoogleDefaultCredentials();
}
+
+ if (FLAGS_enable_ssl) {
+ return grpc::SslCredentials(grpc::SslCredentialsOptions());
+ }
+
+ return grpc::InsecureChannelCredentials();
}
const grpc::string CliCredentials::GetCredentialUsage() const {
return " --enable_ssl ; Set whether to use tls\n"
" --use_auth ; Set whether to create default google"
- " credentials\n";
+ " credentials\n"
+ " --access_token ; Set the access token in metadata,"
+ " overrides --use_auth\n";
}
} // namespace testing
} // namespace grpc