You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

307 lines
9.9 KiB

8 years ago
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <meta name="theme-color" content="#375EAB">
  7. <title>clientcredentials - The Go Programming Language</title>
  8. <link type="text/css" rel="stylesheet" href="../../../../../lib/godoc/style.css">
  9. <link rel="stylesheet" href="../../../../../lib/godoc/jquery.treeview.css">
  10. <script type="text/javascript">window.initFuncs = [];</script>
  11. </head>
  12. <body>
  13. <div id='lowframe' style="position: fixed; bottom: 0; left: 0; height: 0; width: 100%; border-top: thin solid grey; background-color: white; overflow: auto;">
  14. ...
  15. </div><!-- #lowframe -->
  16. <div id="topbar" class="wide"><div class="container">
  17. <div class="top-heading" id="heading-wide"><a href="http://localhost:6060/">The Go Programming Language</a></div>
  18. <div class="top-heading" id="heading-narrow"><a href="http://localhost:6060/">Go</a></div>
  19. <a href="index.html#" id="menu-button"><span id="menu-button-arrow">&#9661;</span></a>
  20. <form method="GET" action="http://localhost:6060/search">
  21. <div id="menu">
  22. <a href="http://localhost:6060/doc/">Documents</a>
  23. <a href="http://localhost:6060/pkg/">Packages</a>
  24. <a href="http://localhost:6060/project/">The Project</a>
  25. <a href="http://localhost:6060/help/">Help</a>
  26. <a href="http://localhost:6060/blog/">Blog</a>
  27. <input type="text" id="search" name="q" class="inactive" value="Search" placeholder="Search">
  28. </div>
  29. </form>
  30. </div></div>
  31. <div id="page" class="wide">
  32. <div class="container">
  33. <h1>Package clientcredentials</h1>
  34. <div id="nav"></div>
  35. <!--
  36. Copyright 2009 The Go Authors. All rights reserved.
  37. Use of this source code is governed by a BSD-style
  38. license that can be found in the LICENSE file.
  39. -->
  40. <!--
  41. Note: Static (i.e., not template-generated) href and id
  42. attributes start with "pkg-" to make it impossible for
  43. them to conflict with generated attributes (some of which
  44. correspond to Go identifiers).
  45. -->
  46. <script type='text/javascript'>
  47. document.ANALYSIS_DATA = null;
  48. document.CALLGRAPH = null;
  49. </script>
  50. <div id="short-nav">
  51. <dl>
  52. <dd><code>import "golang.org/x/oauth2/clientcredentials"</code></dd>
  53. </dl>
  54. <dl>
  55. <dd><a href="index.html#pkg-overview" class="overviewLink">Overview</a></dd>
  56. <dd><a href="index.html#pkg-index" class="indexLink">Index</a></dd>
  57. </dl>
  58. </div>
  59. <!-- The package's Name is printed as title by the top-level template -->
  60. <div id="pkg-overview" class="toggleVisible">
  61. <div class="collapsed">
  62. <h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
  63. </div>
  64. <div class="expanded">
  65. <h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
  66. <p>
  67. Package clientcredentials implements the OAuth2.0 &#34;client credentials&#34; token flow,
  68. also known as the &#34;two-legged OAuth 2.0&#34;.
  69. </p>
  70. <p>
  71. This should be used when the client is acting on its own behalf or when the client
  72. is the resource owner. It may also be used when requesting access to protected
  73. resources based on an authorization previously arranged with the authorization
  74. server.
  75. </p>
  76. <p>
  77. See <a href="http://tools.ietf.org/html/draft-ietf-oauth-v2-31#section-4.4">http://tools.ietf.org/html/draft-ietf-oauth-v2-31#section-4.4</a>
  78. </p>
  79. </div>
  80. </div>
  81. <div id="pkg-index" class="toggleVisible">
  82. <div class="collapsed">
  83. <h2 class="toggleButton" title="Click to show Index section">Index ▹</h2>
  84. </div>
  85. <div class="expanded">
  86. <h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2>
  87. <!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
  88. <div id="manual-nav">
  89. <dl>
  90. <dd><a href="index.html#Config">type Config</a></dd>
  91. <dd>&nbsp; &nbsp; <a href="index.html#Config.Client">func (c *Config) Client(ctx context.Context) *http.Client</a></dd>
  92. <dd>&nbsp; &nbsp; <a href="index.html#Config.Token">func (c *Config) Token(ctx context.Context) (*oauth2.Token, error)</a></dd>
  93. <dd>&nbsp; &nbsp; <a href="index.html#Config.TokenSource">func (c *Config) TokenSource(ctx context.Context) oauth2.TokenSource</a></dd>
  94. </dl>
  95. </div><!-- #manual-nav -->
  96. <h4>Package files</h4>
  97. <p>
  98. <span style="font-size:90%">
  99. <a href="http://localhost:6060/src/golang.org/x/oauth2/clientcredentials/clientcredentials.go">clientcredentials.go</a>
  100. </span>
  101. </p>
  102. </div><!-- .expanded -->
  103. </div><!-- #pkg-index -->
  104. <div id="pkg-callgraph" class="toggle" style="display: none">
  105. <div class="collapsed">
  106. <h2 class="toggleButton" title="Click to show Internal Call Graph section">Internal call graph ▹</h2>
  107. </div> <!-- .expanded -->
  108. <div class="expanded">
  109. <h2 class="toggleButton" title="Click to hide Internal Call Graph section">Internal call graph ▾</h2>
  110. <p>
  111. In the call graph viewer below, each node
  112. is a function belonging to this package
  113. and its children are the functions it
  114. calls&mdash;perhaps dynamically.
  115. </p>
  116. <p>
  117. The root nodes are the entry points of the
  118. package: functions that may be called from
  119. outside the package.
  120. There may be non-exported or anonymous
  121. functions among them if they are called
  122. dynamically from another package.
  123. </p>
  124. <p>
  125. Click a node to visit that function's source code.
  126. From there you can visit its callers by
  127. clicking its declaring <code>func</code>
  128. token.
  129. </p>
  130. <p>
  131. Functions may be omitted if they were
  132. determined to be unreachable in the
  133. particular programs or tests that were
  134. analyzed.
  135. </p>
  136. <!-- Zero means show all package entry points. -->
  137. <ul style="margin-left: 0.5in" id="callgraph-0" class="treeview"></ul>
  138. </div>
  139. </div> <!-- #pkg-callgraph -->
  140. <h2 id="Config">type <a href="http://localhost:6060/src/golang.org/x/oauth2/clientcredentials/clientcredentials.go?s=1767:2106#L44">Config</a></h2>
  141. <pre>type Config struct {
  142. <span class="comment">// ClientID is the application&#39;s ID.</span>
  143. ClientID <a href="../../../../builtin/index.html#string">string</a>
  144. <span class="comment">// ClientSecret is the application&#39;s secret.</span>
  145. ClientSecret <a href="../../../../builtin/index.html#string">string</a>
  146. <span class="comment">// TokenURL is the resource server&#39;s token endpoint</span>
  147. <span class="comment">// URL. This is a constant specific to each server.</span>
  148. TokenURL <a href="../../../../builtin/index.html#string">string</a>
  149. <span class="comment">// Scope specifies optional requested permissions.</span>
  150. Scopes []<a href="../../../../builtin/index.html#string">string</a>
  151. }</pre>
  152. <p>
  153. Client Credentials Config describes a 2-legged OAuth2 flow, with both the
  154. client application information and the server&#39;s endpoint URLs.
  155. </p>
  156. <h3 id="Config.Client">func (*Config) <a href="http://localhost:6060/src/golang.org/x/oauth2/clientcredentials/clientcredentials.go?s=2724:2781#L73">Client</a></h3>
  157. <pre>func (c *<a href="index.html#Config">Config</a>) Client(ctx <a href="../../net/context/index.html">context</a>.<a href="../../net/context/index.html#Context">Context</a>) *<a href="../../../../net/http/index.html">http</a>.<a href="../../../../net/http/index.html#Client">Client</a></pre>
  158. <p>
  159. Client returns an HTTP client using the provided token.
  160. The token will auto-refresh as necessary. The underlying
  161. HTTP transport will be obtained using the provided context.
  162. The returned client and its Transport should not be modified.
  163. </p>
  164. <h3 id="Config.Token">func (*Config) <a href="http://localhost:6060/src/golang.org/x/oauth2/clientcredentials/clientcredentials.go?s=2256:2322#L62">Token</a></h3>
  165. <pre>func (c *<a href="index.html#Config">Config</a>) Token(ctx <a href="../../net/context/index.html">context</a>.<a href="../../net/context/index.html#Context">Context</a>) (*<a href="../index.html">oauth2</a>.<a href="../index.html#Token">Token</a>, <a href="../../../../builtin/index.html#error">error</a>)</pre>
  166. <p>
  167. Token uses client credentials to retrieve a token.
  168. The HTTP client to use is derived from the context.
  169. If nil, http.DefaultClient is used.
  170. </p>
  171. <h3 id="Config.TokenSource">func (*Config) <a href="http://localhost:6060/src/golang.org/x/oauth2/clientcredentials/clientcredentials.go?s=3066:3134#L82">TokenSource</a></h3>
  172. <pre>func (c *<a href="index.html#Config">Config</a>) TokenSource(ctx <a href="../../net/context/index.html">context</a>.<a href="../../net/context/index.html#Context">Context</a>) <a href="../index.html">oauth2</a>.<a href="../index.html#TokenSource">TokenSource</a></pre>
  173. <p>
  174. TokenSource returns a TokenSource that returns t until t expires,
  175. automatically refreshing it as necessary using the provided context and the
  176. client ID and client secret.
  177. </p>
  178. <p>
  179. Most users will use Config.Client instead.
  180. </p>
  181. <div id="footer">
  182. Build version go1.6.<br>
  183. Except as <a href="https://developers.google.com/site-policies#restrictions">noted</a>,
  184. the content of this page is licensed under the
  185. Creative Commons Attribution 3.0 License,
  186. and code is licensed under a <a href="http://localhost:6060/LICENSE">BSD license</a>.<br>
  187. <a href="http://localhost:6060/doc/tos.html">Terms of Service</a> |
  188. <a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a>
  189. </div>
  190. </div><!-- .container -->
  191. </div><!-- #page -->
  192. <!-- TODO(adonovan): load these from <head> using "defer" attribute? -->
  193. <script type="text/javascript" src="../../../../../lib/godoc/jquery.js"></script>
  194. <script type="text/javascript" src="../../../../../lib/godoc/jquery.treeview.js"></script>
  195. <script type="text/javascript" src="../../../../../lib/godoc/jquery.treeview.edit.js"></script>
  196. <script type="text/javascript" src="../../../../../lib/godoc/godocs.js"></script>
  197. </body>
  198. </html>