diff options
author | Yuchen Zeng <zyc@google.com> | 2017-12-14 11:42:07 -0800 |
---|---|---|
committer | Yuchen Zeng <zyc@google.com> | 2017-12-14 11:42:16 -0800 |
commit | 243505060acdbbd2a92a090736d6230d09993fbb (patch) | |
tree | aced674e940abfcc727a677b95b982004464e87b /test/cpp/util/cli_credentials.cc | |
parent | 5d37e61d069a3d33fba15db35151d013a298537f (diff) |
Support access token credential in grpc_cli
Diffstat (limited to 'test/cpp/util/cli_credentials.cc')
-rw-r--r-- | test/cpp/util/cli_credentials.cc | 30 |
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 |