module-src_credentials.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Module: src/credentials</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Module: src/credentials</h1>
  17. <section>
  18. <header>
  19. </header>
  20. <article>
  21. <div class="container-overview">
  22. <div class="description">Credentials module
  23. This module contains factory methods for two different credential types:
  24. CallCredentials and ChannelCredentials. ChannelCredentials are things like
  25. SSL credentials that can be used to secure a connection, and are used to
  26. construct a Client object. CallCredentials genrally modify metadata, so they
  27. can be attached to an individual method call.
  28. CallCredentials can be composed with other CallCredentials to create
  29. CallCredentials. ChannelCredentials can be composed with CallCredentials
  30. to create ChannelCredentials. No combined credential can have more than
  31. one ChannelCredentials.
  32. For example, to create a client secured with SSL that uses Google
  33. default application credentials to authenticate:
  34. var channel_creds = credentials.createSsl(root_certs);
  35. (new GoogleAuth()).getApplicationDefault(function(err, credential) {
  36. var call_creds = credentials.createFromGoogleCredential(credential);
  37. var combined_creds = credentials.combineChannelCredentials(
  38. channel_creds, call_creds);
  39. var client = new Client(address, combined_creds);
  40. });</div>
  41. <dl class="details">
  42. <dt class="tag-source">Source:</dt>
  43. <dd class="tag-source"><ul class="dummy"><li>
  44. <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line34">line 34</a>
  45. </li></ul></dd>
  46. </dl>
  47. </div>
  48. <h3 class="subsection-title">Members</h3>
  49. <h4 class="name" id=".createInsecure"><span class="type-signature">(static) </span>createInsecure<span class="type-signature"></span></h4>
  50. <div class="description">
  51. Create an insecure credentials object. This is used to create a channel that
  52. does not use SSL. This cannot be composed with anything.
  53. </div>
  54. <dl class="details">
  55. <dt class="tag-source">Source:</dt>
  56. <dd class="tag-source"><ul class="dummy"><li>
  57. <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line167">line 167</a>
  58. </li></ul></dd>
  59. </dl>
  60. <h4 class="name" id=".createSsl"><span class="type-signature">(static) </span>createSsl<span class="type-signature"></span></h4>
  61. <div class="description">
  62. Create an SSL Credentials object. If using a client-side certificate, both
  63. the second and third arguments must be passed.
  64. </div>
  65. <dl class="details">
  66. <dt class="tag-source">Source:</dt>
  67. <dd class="tag-source"><ul class="dummy"><li>
  68. <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line81">line 81</a>
  69. </li></ul></dd>
  70. </dl>
  71. <h3 class="subsection-title">Methods</h3>
  72. <h4 class="name" id=".combineCallCredentials"><span class="type-signature">(static) </span>combineCallCredentials<span class="signature">(&hellip;credentials)</span><span class="type-signature"></span></h4>
  73. <div class="description">
  74. Combine any number of CallCredentials into a single CallCredentials object
  75. </div>
  76. <h5>Parameters:</h5>
  77. <table class="params">
  78. <thead>
  79. <tr>
  80. <th>Name</th>
  81. <th>Type</th>
  82. <th>Attributes</th>
  83. <th class="last">Description</th>
  84. </tr>
  85. </thead>
  86. <tbody>
  87. <tr>
  88. <td class="name"><code>credentials</code></td>
  89. <td class="type">
  90. <span class="param-type">CallCredentials</span>
  91. </td>
  92. <td class="attributes">
  93. &lt;repeatable><br>
  94. </td>
  95. <td class="description last">the CallCredentials to compose</td>
  96. </tr>
  97. </tbody>
  98. </table>
  99. <dl class="details">
  100. <dt class="tag-source">Source:</dt>
  101. <dd class="tag-source"><ul class="dummy"><li>
  102. <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line154">line 154</a>
  103. </li></ul></dd>
  104. </dl>
  105. <h5>Returns:</h5>
  106. <div class="param-desc">
  107. CallCredentials A credentials object that combines all of the input
  108. credentials
  109. </div>
  110. <h4 class="name" id=".combineChannelCredentials"><span class="type-signature">(static) </span>combineChannelCredentials<span class="signature">(channel_credential, &hellip;credentials)</span><span class="type-signature"></span></h4>
  111. <div class="description">
  112. Combine a ChannelCredentials with any number of CallCredentials into a single
  113. ChannelCredentials object.
  114. </div>
  115. <h5>Parameters:</h5>
  116. <table class="params">
  117. <thead>
  118. <tr>
  119. <th>Name</th>
  120. <th>Type</th>
  121. <th>Attributes</th>
  122. <th class="last">Description</th>
  123. </tr>
  124. </thead>
  125. <tbody>
  126. <tr>
  127. <td class="name"><code>channel_credential</code></td>
  128. <td class="type">
  129. <span class="param-type">ChannelCredentials</span>
  130. </td>
  131. <td class="attributes">
  132. </td>
  133. <td class="description last">The ChannelCredentials to
  134. start with</td>
  135. </tr>
  136. <tr>
  137. <td class="name"><code>credentials</code></td>
  138. <td class="type">
  139. <span class="param-type">CallCredentials</span>
  140. </td>
  141. <td class="attributes">
  142. &lt;repeatable><br>
  143. </td>
  144. <td class="description last">The CallCredentials to compose</td>
  145. </tr>
  146. </tbody>
  147. </table>
  148. <dl class="details">
  149. <dt class="tag-source">Source:</dt>
  150. <dd class="tag-source"><ul class="dummy"><li>
  151. <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line140">line 140</a>
  152. </li></ul></dd>
  153. </dl>
  154. <h5>Returns:</h5>
  155. <div class="param-desc">
  156. ChannelCredentials A credentials object that combines all of the
  157. input credentials
  158. </div>
  159. <h4 class="name" id=".createFromGoogleCredential"><span class="type-signature">(static) </span>createFromGoogleCredential<span class="signature">(google_credential)</span><span class="type-signature"> &rarr; {CallCredentials}</span></h4>
  160. <div class="description">
  161. Create a gRPC credential from a Google credential object.
  162. </div>
  163. <h5>Parameters:</h5>
  164. <table class="params">
  165. <thead>
  166. <tr>
  167. <th>Name</th>
  168. <th>Type</th>
  169. <th class="last">Description</th>
  170. </tr>
  171. </thead>
  172. <tbody>
  173. <tr>
  174. <td class="name"><code>google_credential</code></td>
  175. <td class="type">
  176. <span class="param-type">Object</span>
  177. </td>
  178. <td class="description last">The Google credential object to use</td>
  179. </tr>
  180. </tbody>
  181. </table>
  182. <dl class="details">
  183. <dt class="tag-source">Source:</dt>
  184. <dd class="tag-source"><ul class="dummy"><li>
  185. <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line116">line 116</a>
  186. </li></ul></dd>
  187. </dl>
  188. <h5>Returns:</h5>
  189. <div class="param-desc">
  190. The resulting credentials object
  191. </div>
  192. <dl>
  193. <dt>
  194. Type
  195. </dt>
  196. <dd>
  197. <span class="param-type">CallCredentials</span>
  198. </dd>
  199. </dl>
  200. <h4 class="name" id=".createFromMetadataGenerator"><span class="type-signature">(static) </span>createFromMetadataGenerator<span class="signature">(metadata_generator)</span><span class="type-signature"> &rarr; {CallCredentials}</span></h4>
  201. <div class="description">
  202. Create a gRPC credentials object from a metadata generation function. This
  203. function gets the service URL and a callback as parameters. The error
  204. passed to the callback can optionally have a 'code' value attached to it,
  205. which corresponds to a status code that this library uses.
  206. </div>
  207. <h5>Parameters:</h5>
  208. <table class="params">
  209. <thead>
  210. <tr>
  211. <th>Name</th>
  212. <th>Type</th>
  213. <th class="last">Description</th>
  214. </tr>
  215. </thead>
  216. <tbody>
  217. <tr>
  218. <td class="name"><code>metadata_generator</code></td>
  219. <td class="type">
  220. <span class="param-type">function</span>
  221. </td>
  222. <td class="description last">The
  223. function that generates metadata</td>
  224. </tr>
  225. </tbody>
  226. </table>
  227. <dl class="details">
  228. <dt class="tag-source">Source:</dt>
  229. <dd class="tag-source"><ul class="dummy"><li>
  230. <a href="src_credentials.js.html">src/credentials.js</a>, <a href="src_credentials.js.html#line92">line 92</a>
  231. </li></ul></dd>
  232. </dl>
  233. <h5>Returns:</h5>
  234. <div class="param-desc">
  235. The credentials object
  236. </div>
  237. <dl>
  238. <dt>
  239. Type
  240. </dt>
  241. <dd>
  242. <span class="param-type">CallCredentials</span>
  243. </dd>
  244. </dl>
  245. </article>
  246. </section>
  247. </div>
  248. <nav>
  249. <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#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#status">status</a></li><li><a href="global.html#waitForClientReady">waitForClientReady</a></li><li><a href="global.html#writeFlags">writeFlags</a></li></ul>
  250. </nav>
  251. <br class="clear">
  252. <footer>
  253. Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.0</a> on Thu Jan 14 2016 16:17:15 GMT-0800 (PST)
  254. </footer>
  255. <script> prettyPrint(); </script>
  256. <script src="scripts/linenumber.js"> </script>
  257. </body>
  258. </html>