blockstack
Version:
The Blockstack Javascript library for authentication, identity, and storage.
498 lines • 24.6 kB
HTML
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>AppConfig | blockstack</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">blockstack</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="appconfig.html">AppConfig</a>
</li>
</ul>
<h1>Class AppConfig</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Configuration data for the current app.</p>
</div>
<p>On browser platforms, creating an instance of this
class without any arguments will use
<code>window.location.origin</code> as the app domain.
On non-browser platforms, you need to
specify an app domain as the first argument.</p>
<dl class="tsd-comment-tags">
<dt>type</dt>
<dd><p>{AppConfig}</p>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">AppConfig</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="appconfig.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class"><a href="appconfig.html#appdomain" class="tsd-kind-icon">app<wbr>Domain</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="appconfig.html#authenticatorurl" class="tsd-kind-icon">authenticatorURL</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="appconfig.html#corenode" class="tsd-kind-icon">core<wbr>Node</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="appconfig.html#manifestpath" class="tsd-kind-icon">manifest<wbr>Path</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="appconfig.html#redirectpath" class="tsd-kind-icon">redirect<wbr>Path</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="appconfig.html#scopes" class="tsd-kind-icon">scopes</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="appconfig.html#manifesturi" class="tsd-kind-icon">manifestURI</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="appconfig.html#redirecturi" class="tsd-kind-icon">redirectURI</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>App<wbr>Config<span class="tsd-signature-symbol">(</span>scopes<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span>, appDomain<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, redirectPath<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, manifestPath<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, coreNode<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span>, authenticatorURL<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="appconfig.html" class="tsd-signature-type">AppConfig</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/blockstack/blockstack.js/blob/master/src/auth/appConfig.ts#L59">auth/appConfig.ts:59</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> scopes: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = DEFAULT_SCOPE.slice()</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>permissions this app is requesting</p>
</div>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> appDomain: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = window.location.origin</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>the app domain</p>
</div>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> redirectPath: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ""</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>path on app domain to redirect users to after authentication</p>
</div>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> manifestPath: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "/manifest.json"</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>path relative to app domain of app's manifest file</p>
</div>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> coreNode: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> = null</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>override the default or user selected core node</p>
</div>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> authenticatorURL: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = DEFAULT_BLOCKSTACK_HOST</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>the web-based fall back authenticator</p>
</div>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="appconfig.html" class="tsd-signature-type">AppConfig</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="appdomain" class="tsd-anchor"></a>
<h3>app<wbr>Domain</h3>
<div class="tsd-signature tsd-kind-icon">app<wbr>Domain<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/blockstack/blockstack.js/blob/master/src/auth/appConfig.ts#L20">auth/appConfig.ts:20</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Blockstack apps are uniquely identified by their app domain.</p>
</div>
<dl class="tsd-comment-tags">
<dt>type</dt>
<dd><p>{string}</p>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="authenticatorurl" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> authenticatorURL</h3>
<div class="tsd-signature tsd-kind-icon">authenticatorURL<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/blockstack/blockstack.js/blob/master/src/auth/appConfig.ts#L59">auth/appConfig.ts:59</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The URL of a web-based Blockstack Authenticator to use in the event
the user doesn't have Blockstack installed on their machine. If this
is not specified, the current default in this library will be used.</p>
</div>
<dl class="tsd-comment-tags">
<dt>type</dt>
<dd><p>{string}</p>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="corenode" class="tsd-anchor"></a>
<h3>core<wbr>Node</h3>
<div class="tsd-signature tsd-kind-icon">core<wbr>Node<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/blockstack/blockstack.js/blob/master/src/auth/appConfig.ts#L51">auth/appConfig.ts:51</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The URL of Blockstack core node to use for this app. If this is
<code>null</code>, the core node specified by the user or default core node
will be used.</p>
</div>
<dl class="tsd-comment-tags">
<dt>type</dt>
<dd><p>{string}</p>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="manifestpath" class="tsd-anchor"></a>
<h3>manifest<wbr>Path</h3>
<div class="tsd-signature tsd-kind-icon">manifest<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/blockstack/blockstack.js/blob/master/src/auth/appConfig.ts#L43">auth/appConfig.ts:43</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Path relative to app domain of app's manifest file.</p>
</div>
<p>This file needs to have CORS headers set so that it can be fetched
from any origin. Typically this means return the header <code>Access-Control-Allow-Origin: *</code>.</p>
<dl class="tsd-comment-tags">
<dt>type</dt>
<dd><p>{string}</p>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="redirectpath" class="tsd-anchor"></a>
<h3>redirect<wbr>Path</h3>
<div class="tsd-signature tsd-kind-icon">redirect<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/blockstack/blockstack.js/blob/master/src/auth/appConfig.ts#L34">auth/appConfig.ts:34</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Path on app domain to redirect users to after authentication. The
authentication response token will be postpended in a query.</p>
</div>
<dl class="tsd-comment-tags">
<dt>type</dt>
<dd><p>{string}</p>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="scopes" class="tsd-anchor"></a>
<h3>scopes</h3>
<div class="tsd-signature tsd-kind-icon">scopes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/blockstack/blockstack.js/blob/master/src/auth/appConfig.ts#L26">auth/appConfig.ts:26</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>An array of string representing permissions requested by the app.</p>
</div>
<dl class="tsd-comment-tags">
<dt>type</dt>
<dd><p>{[Array<string>}</p>
</dd>
</dl>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="manifesturi" class="tsd-anchor"></a>
<h3>manifestURI</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">manifestURI<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/blockstack/blockstack.js/blob/master/src/auth/appConfig.ts#L102">auth/appConfig.ts:102</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The location of the app's manifest file.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
<ul>
<li>URI</li>
</ul>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="redirecturi" class="tsd-anchor"></a>
<h3>redirectURI</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">redirectURI<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/blockstack/blockstack.js/blob/master/src/auth/appConfig.ts#L94">auth/appConfig.ts:94</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The location to which the authenticator should
redirect the user.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
<ul>
<li>URI</li>
</ul>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
<ul class="current">
<li class="current tsd-kind-class">
<a href="appconfig.html" class="tsd-kind-icon">App<wbr>Config</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="appconfig.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="appconfig.html#appdomain" class="tsd-kind-icon">app<wbr>Domain</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="appconfig.html#authenticatorurl" class="tsd-kind-icon">authenticatorURL</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="appconfig.html#corenode" class="tsd-kind-icon">core<wbr>Node</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="appconfig.html#manifestpath" class="tsd-kind-icon">manifest<wbr>Path</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="appconfig.html#redirectpath" class="tsd-kind-icon">redirect<wbr>Path</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="appconfig.html#scopes" class="tsd-kind-icon">scopes</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="appconfig.html#manifesturi" class="tsd-kind-icon">manifestURI</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="appconfig.html#redirecturi" class="tsd-kind-icon">redirectURI</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>