| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966 | <!DOCTYPE html><html lang="en"><head>    <meta charset="utf-8">    <title>JSDoc: Module: src/credentials</title>    <script src="scripts/prettify/prettify.js"> </script>    <script src="scripts/prettify/lang-css.js"> </script>    <!--[if lt IE 9]>      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>    <![endif]-->    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"></head><body><div id="main">    <h1 class="page-title">Module: src/credentials</h1>    <section><header>                                    </header><article>    <div class="container-overview">                        <div class="description">Credentials moduleThis module contains factory methods for two different credential types:CallCredentials and ChannelCredentials. ChannelCredentials are things likeSSL credentials that can be used to secure a connection, and are used toconstruct a Client object. CallCredentials genrally modify metadata, so theycan be attached to an individual method call.CallCredentials can be composed with other CallCredentials to createCallCredentials. ChannelCredentials can be composed with CallCredentialsto create ChannelCredentials. No combined credential can have more thanone ChannelCredentials.For example, to create a client secured with SSL that uses Googledefault application credentials to authenticate:var channel_creds = credentials.createSsl(root_certs);(new GoogleAuth()).getApplicationDefault(function(err, credential) {  var call_creds = credentials.createFromGoogleCredential(credential);  var combined_creds = credentials.combineChannelCredentials(      channel_creds, call_creds);  var client = new Client(address, combined_creds);});</div>                            <dl class="details">                                                        <dt class="tag-source">Source:</dt>    <dd class="tag-source"><ul class="dummy"><li>        <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line34">line 34</a>    </li></ul></dd>                </dl>                </div>                                 <h3 class="subsection-title">Members</h3>                    <h4 class="name" id=".createInsecure"><span class="type-signature">(static) </span>createInsecure<span class="type-signature"></span></h4><div class="description">    Create an insecure credentials object. This is used to create a channel thatdoes not use SSL. This cannot be composed with anything.</div><dl class="details">                                                        <dt class="tag-source">Source:</dt>    <dd class="tag-source"><ul class="dummy"><li>        <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line175">line 175</a>    </li></ul></dd>                </dl>                    <h4 class="name" id=".createSsl"><span class="type-signature">(static) </span>createSsl<span class="type-signature"></span></h4><div class="description">    Create an SSL Credentials object. If using a client-side certificate, boththe second and third arguments must be passed.</div><dl class="details">                                                        <dt class="tag-source">Source:</dt>    <dd class="tag-source"><ul class="dummy"><li>        <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line85">line 85</a>    </li></ul></dd>                </dl>                        <h3 class="subsection-title">Methods</h3>                            <h4 class="name" id=".combineCallCredentials"><span class="type-signature">(static) </span>combineCallCredentials<span class="signature">(…credentials)</span><span class="type-signature"></span></h4>    <div class="description">    Combine any number of CallCredentials into a single CallCredentials object</div>    <h5>Parameters:</h5>    <table class="params">    <thead>    <tr>                <th>Name</th>                <th>Type</th>                <th>Attributes</th>                        <th class="last">Description</th>    </tr>    </thead>    <tbody>            <tr>                            <td class="name"><code>credentials</code></td>                        <td class="type">                            <span class="param-type">CallCredentials</span>                        </td>                            <td class="attributes">                                                                    <repeatable><br>                                </td>                                    <td class="description last">the CallCredentials to compose</td>        </tr>        </tbody></table><dl class="details">                                                        <dt class="tag-source">Source:</dt>    <dd class="tag-source"><ul class="dummy"><li>        <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line162">line 162</a>    </li></ul></dd>                </dl><h5>Returns:</h5>        <div class="param-desc">    CallCredentials A credentials object that combines all of the input    credentials</div>                                <h4 class="name" id=".combineChannelCredentials"><span class="type-signature">(static) </span>combineChannelCredentials<span class="signature">(channel_credential, …credentials)</span><span class="type-signature"></span></h4>    <div class="description">    Combine a ChannelCredentials with any number of CallCredentials into a singleChannelCredentials object.</div>    <h5>Parameters:</h5>    <table class="params">    <thead>    <tr>                <th>Name</th>                <th>Type</th>                <th>Attributes</th>                        <th class="last">Description</th>    </tr>    </thead>    <tbody>            <tr>                            <td class="name"><code>channel_credential</code></td>                        <td class="type">                            <span class="param-type">ChannelCredentials</span>                        </td>                            <td class="attributes">                                                                </td>                                    <td class="description last">The ChannelCredentials to    start with</td>        </tr>            <tr>                            <td class="name"><code>credentials</code></td>                        <td class="type">                            <span class="param-type">CallCredentials</span>                        </td>                            <td class="attributes">                                                                    <repeatable><br>                                </td>                                    <td class="description last">The CallCredentials to compose</td>        </tr>        </tbody></table><dl class="details">                                                        <dt class="tag-source">Source:</dt>    <dd class="tag-source"><ul class="dummy"><li>        <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line148">line 148</a>    </li></ul></dd>                </dl><h5>Returns:</h5>        <div class="param-desc">    ChannelCredentials A credentials object that combines all of the    input credentials</div>                                <h4 class="name" id=".createFromGoogleCredential"><span class="type-signature">(static) </span>createFromGoogleCredential<span class="signature">(google_credential)</span><span class="type-signature"> → {CallCredentials}</span></h4>    <div class="description">    Create a gRPC credential from a Google credential object.</div>    <h5>Parameters:</h5>    <table class="params">    <thead>    <tr>                <th>Name</th>                <th>Type</th>                        <th class="last">Description</th>    </tr>    </thead>    <tbody>            <tr>                            <td class="name"><code>google_credential</code></td>                        <td class="type">                            <span class="param-type">Object</span>                        </td>                                    <td class="description last">The Google credential object to use</td>        </tr>        </tbody></table><dl class="details">                                                        <dt class="tag-source">Source:</dt>    <dd class="tag-source"><ul class="dummy"><li>        <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line123">line 123</a>    </li></ul></dd>                </dl><h5>Returns:</h5>        <div class="param-desc">    The resulting credentials object</div><dl>    <dt>        Type    </dt>    <dd>        <span class="param-type">CallCredentials</span>    </dd></dl>                                <h4 class="name" id=".createFromMetadataGenerator"><span class="type-signature">(static) </span>createFromMetadataGenerator<span class="signature">(metadata_generator)</span><span class="type-signature"> → {CallCredentials}</span></h4>    <div class="description">    Create a gRPC credentials object from a metadata generation function. Thisfunction gets the service URL and a callback as parameters. The errorpassed to the callback can optionally have a 'code' value attached to it,which corresponds to a status code that this library uses.</div>    <h5>Parameters:</h5>    <table class="params">    <thead>    <tr>                <th>Name</th>                <th>Type</th>                        <th class="last">Description</th>    </tr>    </thead>    <tbody>            <tr>                            <td class="name"><code>metadata_generator</code></td>                        <td class="type">                            <span class="param-type">function</span>                        </td>                                    <td class="description last">The    function that generates metadata</td>        </tr>        </tbody></table><dl class="details">                                                        <dt class="tag-source">Source:</dt>    <dd class="tag-source"><ul class="dummy"><li>        <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line96">line 96</a>    </li></ul></dd>                </dl><h5>Returns:</h5>        <div class="param-desc">    The credentials object</div><dl>    <dt>        Type    </dt>    <dd>        <span class="param-type">CallCredentials</span>    </dd></dl>                        </article></section></div><nav>    <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-src_client.html">src/client</a></li><li><a href="module-src_common.html">src/common</a></li><li><a href="module-src_credentials.html">src/credentials</a></li><li><a href="module-src_metadata.html">src/metadata</a></li><li><a href="module-src_server.html">src/server</a></li></ul><h3>Classes</h3><ul><li><a href="module-src_client.makeClientConstructor-Client.html">Client</a></li><li><a href="module-src_client-ClientDuplexStream.html">ClientDuplexStream</a></li><li><a href="module-src_client-ClientReadableStream.html">ClientReadableStream</a></li><li><a href="module-src_client-ClientWritableStream.html">ClientWritableStream</a></li><li><a href="module-src_metadata-Metadata.html">Metadata</a></li><li><a href="module-src_server-Server.html">Server</a></li><li><a href="module-src_server-ServerDuplexStream.html">ServerDuplexStream</a></li><li><a href="module-src_server-ServerReadableStream.html">ServerReadableStream</a></li><li><a href="module-src_server-ServerWritableStream.html">ServerWritableStream</a></li></ul><h3>Global</h3><ul><li><a href="global.html#callError">callError</a></li><li><a href="global.html#credentials">credentials</a></li><li><a href="global.html#getClientChannel">getClientChannel</a></li><li><a href="global.html#load">load</a></li><li><a href="global.html#loadObject">loadObject</a></li><li><a href="global.html#logVerbosity">logVerbosity</a></li><li><a href="global.html#makeGenericClientConstructor">makeGenericClientConstructor</a></li><li><a href="global.html#Metadata">Metadata</a></li><li><a href="global.html#propagate">propagate</a></li><li><a href="global.html#Server">Server</a></li><li><a href="global.html#ServerCredentials">ServerCredentials</a></li><li><a href="global.html#setLogger">setLogger</a></li><li><a href="global.html#setLogVerbosity">setLogVerbosity</a></li><li><a href="global.html#status">status</a></li><li><a href="global.html#waitForClientReady">waitForClientReady</a></li><li><a href="global.html#writeFlags">writeFlags</a></li></ul></nav><br class="clear"><footer>    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.0</a> on Thu Aug 18 2016 12:19:14 GMT-0700 (PDT)</footer><script> prettyPrint(); </script><script src="scripts/linenumber.js"> </script></body></html>
 |