Files
2023-03-03 11:18:55 +01:00

1157 lines
22 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> UserClient</title>
<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script src="./build/entry.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link href="https://fonts.googleapis.com/css?family=Roboto:100,400,700|Inconsolata,700" rel="stylesheet">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
<link type="text/css" rel="stylesheet" href="https://jmblog.github.io/color-themes-for-google-code-prettify/themes/tomorrow-night.min.css">
<link type="text/css" rel="stylesheet" href="styles/app.min.css">
<link type="text/css" rel="stylesheet" href="styles/iframe.css">
<link type="text/css" rel="stylesheet" href="">
<script async defer src="https://buttons.github.io/buttons.js"></script>
</head>
<body class="layout small-header">
<div id="stickyNavbarOverlay"></div>
<div class="top-nav">
<div class="inner">
<a id="hamburger" role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
<div class="logo">
</div>
<div class="menu">
<div class="navigation">
<a
href="index.html"
class="link"
>
Documentation
</a>
</div>
</div>
</div>
</div>
<div id="main">
<div
class="sidebar "
id="sidebarNav"
>
<nav>
<h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Hanko.html">Hanko</a></li></ul></div><div class="category"><h2>SDK</h2><h3>Classes / Internal</h3><ul><li><a href="Client.html">Client</a></li><li><a href="Headers.html">Headers</a></li><li><a href="HttpClient.html">HttpClient</a></li><li><a href="PasscodeState.html">PasscodeState</a></li><li><a href="PasswordState.html">PasswordState</a></li><li><a href="Response.html">Response</a></li><li><a href="State.html">State</a></li><li><a href="UserState.html">UserState</a></li><li><a href="WebauthnState.html">WebauthnState</a></li></ul><h3>Classes / Clients</h3><ul><li><a href="ConfigClient.html">ConfigClient</a></li><li><a href="EmailClient.html">EmailClient</a></li><li><a href="PasscodeClient.html">PasscodeClient</a></li><li><a href="PasswordClient.html">PasswordClient</a></li><li><a href="ThirdPartyClient.html">ThirdPartyClient</a></li><li><a href="UserClient.html">UserClient</a></li><li><a href="WebauthnClient.html">WebauthnClient</a></li></ul><h3>Classes / Errors</h3><ul><li><a href="ConflictError.html">ConflictError</a></li><li><a href="EmailAddressAlreadyExistsError.html">EmailAddressAlreadyExistsError</a></li><li><a href="HankoError.html">HankoError</a></li><li><a href="InvalidPasscodeError.html">InvalidPasscodeError</a></li><li><a href="InvalidPasswordError.html">InvalidPasswordError</a></li><li><a href="InvalidWebauthnCredentialError.html">InvalidWebauthnCredentialError</a></li><li><a href="MaxNumOfEmailAddressesReachedError.html">MaxNumOfEmailAddressesReachedError</a></li><li><a href="MaxNumOfPasscodeAttemptsReachedError.html">MaxNumOfPasscodeAttemptsReachedError</a></li><li><a href="NotFoundError.html">NotFoundError</a></li><li><a href="PasscodeExpiredError.html">PasscodeExpiredError</a></li><li><a href="RequestTimeoutError.html">RequestTimeoutError</a></li><li><a href="TechnicalError.html">TechnicalError</a></li><li><a href="ThirdPartyError.html">ThirdPartyError</a></li><li><a href="TooManyRequestsError.html">TooManyRequestsError</a></li><li><a href="UnauthorizedError.html">UnauthorizedError</a></li><li><a href="UserVerificationError.html">UserVerificationError</a></li><li><a href="WebauthnRequestCancelledError.html">WebauthnRequestCancelledError</a></li></ul><h3>Classes / Utilities</h3><ul><li><a href="WebauthnSupport.html">WebauthnSupport</a></li></ul><h3>Interfaces / DTO</h3><ul><li><a href="Config.html">Config</a></li><li><a href="Credential.html">Credential</a></li><li><a href="Email.html">Email</a></li><li><a href="EmailConfig.html">EmailConfig</a></li><li><a href="Emails.html">Emails</a></li><li><a href="Identity.html">Identity</a></li><li><a href="Passcode.html">Passcode</a></li><li><a href="PasswordConfig.html">PasswordConfig</a></li><li><a href="User.html">User</a></li><li><a href="UserInfo.html">UserInfo</a></li><li><a href="WebauthnCredential.html">WebauthnCredential</a></li><li><a href="WebauthnCredentials.html">WebauthnCredentials</a></li><li><a href="WebauthnFinalized.html">WebauthnFinalized</a></li><li><a href="WebauthnTransports.html">WebauthnTransports</a></li></ul><h3>Interfaces / Internal</h3><ul><li><a href="LocalStorage.html">LocalStorage</a></li><li><a href="LocalStoragePasscode.html">LocalStoragePasscode</a></li><li><a href="LocalStoragePassword.html">LocalStoragePassword</a></li><li><a href="LocalStorageUser.html">LocalStorageUser</a></li><li><a href="LocalStorageUsers.html">LocalStorageUsers</a></li><li><a href="LocalStorageWebauthn.html">LocalStorageWebauthn</a></li></ul></div>
</nav>
</div>
<div class="core" id="main-content-wrapper">
<div class="content">
<header class="page-title">
<p>Class</p>
<h1>UserClient</h1>
</header>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>UserClient<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">A class to manage user information.</div>
</header>
<article>
<div class="container-overview">
<div class='vertical-section'>
<div class="members">
<div class="member">
<div class=name>
<span class="tag">Constructor</span>
</div>
<h4 class="name" id="UserClient">
<a class="href-link" href="#UserClient">#</a>
<span class="code-name">
new UserClient<span class="signature">()</span><span class="type-signature"></span>
</span>
</h4>
<dl class="details">
<p class="tag-source">
<a href="lib_client_UserClient.ts.html" class="button">View Source</a>
<span>
<a href="lib_client_UserClient.ts.html">lib/client/UserClient.ts</a>, <a href="lib_client_UserClient.ts.html#line11">line 11</a>
</span>
</p>
</dl>
</div>
</div>
</div>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li><a href="Client.html">Client</a></li>
</ul>
<div class='vertical-section'>
<h1>Members</h1>
<div class="members">
<div class="member">
<span class="method-parameter is-pulled-right">
<label>Type:</label>
<code class="param-type"><a href="HttpClient.html">HttpClient</a></code>
</span>
<h4 class="name" id="client">
<a class="href-link" href="#client">#</a>
<span class="code-name">
client
</span>
</h4>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="Client.html#client">Client#client</a>
</li></ul></dd>
<p class="tag-source">
<a href="lib_client_Client.ts.html" class="button">View Source</a>
<span>
<a href="lib_client_Client.ts.html">lib/client/Client.ts</a>, <a href="lib_client_Client.ts.html#line20">line 20</a>
</span>
</p>
</dl>
</div>
</div>
</div>
<div class='vertical-section'>
<h1>Methods</h1>
<div class="members">
<div class="member">
<h4 class="name" id="create">
<a class="href-link" href="#create">#</a>
<span class='tag'>async</span>
<span class="code-name">
create<span class="signature">(email)</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="User.html">User</a>>}</span>
</span>
</h4>
<div class="description">
Creates a new user. Afterwards, verify the email address via passcode. If a 'ConflictError'
occurred, you may want to prompt the user to log in.
</div>
<h5>Parameters:</h5>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code>email</code></td>
<td class="type">
<code class="param-type">string</code>
</td>
<td class="description last">The email address of the user to be created.</td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul>
<li><a href="https://docs.hanko.io/api/public#tag/User-Management/operation/createUser">https://docs.hanko.io/api/public#tag/User-Management/operation/createUser</a></li>
</ul>
</dd>
<p class="tag-source">
<a href="lib_client_UserClient.ts.html" class="button">View Source</a>
<span>
<a href="lib_client_UserClient.ts.html">lib/client/UserClient.ts</a>, <a href="lib_client_UserClient.ts.html#line142">line 142</a>
</span>
</p>
</dl>
<div class='columns method-parameter'>
<div class="column is-2"><label>Throws:</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="ConflictError.html">ConflictError</a></code>
</div>
</div>
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="RequestTimeoutError.html">RequestTimeoutError</a></code>
</div>
</div>
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="TechnicalError.html">TechnicalError</a></code>
</div>
</div>
</div>
</div>
<div class='columns method-parameter'>
<div class="column is-2"><label>Returns:</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-5 has-text-left'>
<label>Type: </label>
<code class="param-type">Promise.&lt;<a href="User.html">User</a>></code>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="getCurrent">
<a class="href-link" href="#getCurrent">#</a>
<span class='tag'>async</span>
<span class="code-name">
getCurrent<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="User.html">User</a>>}</span>
</span>
</h4>
<div class="description">
Fetches the current user.
</div>
<dl class="details">
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul>
<li><a href="https://docs.hanko.io/api/public#tag/User-Management/operation/IsUserAuthorized">https://docs.hanko.io/api/public#tag/User-Management/operation/IsUserAuthorized</a></li>
<li><a href="https://docs.hanko.io/api/public#tag/User-Management/operation/listUser">https://docs.hanko.io/api/public#tag/User-Management/operation/listUser</a></li>
</ul>
</dd>
<p class="tag-source">
<a href="lib_client_UserClient.ts.html" class="button">View Source</a>
<span>
<a href="lib_client_UserClient.ts.html">lib/client/UserClient.ts</a>, <a href="lib_client_UserClient.ts.html#line155">line 155</a>
</span>
</p>
</dl>
<div class='columns method-parameter'>
<div class="column is-2"><label>Throws:</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="UnauthorizedError.html">UnauthorizedError</a></code>
</div>
</div>
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="RequestTimeoutError.html">RequestTimeoutError</a></code>
</div>
</div>
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="TechnicalError.html">TechnicalError</a></code>
</div>
</div>
</div>
</div>
<div class='columns method-parameter'>
<div class="column is-2"><label>Returns:</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-5 has-text-left'>
<label>Type: </label>
<code class="param-type">Promise.&lt;<a href="User.html">User</a>></code>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="getInfo">
<a class="href-link" href="#getInfo">#</a>
<span class='tag'>async</span>
<span class="code-name">
getInfo<span class="signature">(email)</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="UserInfo.html">UserInfo</a>>}</span>
</span>
</h4>
<div class="description">
Fetches basic information about the user identified by the given email address. Can be used while the user is logged out
and is helpful in deciding which type of login to choose. For example, if the user's email is not verified, you may
want to log in with a passcode, or if no WebAuthn credentials are registered, you may not want to use WebAuthn.
</div>
<h5>Parameters:</h5>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code>email</code></td>
<td class="type">
<code class="param-type">string</code>
</td>
<td class="description last">The user's email address.</td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul>
<li><a href="https://docs.hanko.io/api/public#tag/User-Management/operation/getUserId">https://docs.hanko.io/api/public#tag/User-Management/operation/getUserId</a></li>
</ul>
</dd>
<p class="tag-source">
<a href="lib_client_UserClient.ts.html" class="button">View Source</a>
<span>
<a href="lib_client_UserClient.ts.html">lib/client/UserClient.ts</a>, <a href="lib_client_UserClient.ts.html#line128">line 128</a>
</span>
</p>
</dl>
<div class='columns method-parameter'>
<div class="column is-2"><label>Throws:</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="NotFoundError.html">NotFoundError</a></code>
</div>
</div>
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="RequestTimeoutError.html">RequestTimeoutError</a></code>
</div>
</div>
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="TechnicalError.html">TechnicalError</a></code>
</div>
</div>
</div>
</div>
<div class='columns method-parameter'>
<div class="column is-2"><label>Returns:</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-5 has-text-left'>
<label>Type: </label>
<code class="param-type">Promise.&lt;<a href="UserInfo.html">UserInfo</a>></code>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="logout">
<a class="href-link" href="#logout">#</a>
<span class='tag'>async</span>
<span class="code-name">
logout<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span>
</span>
</h4>
<div class="description">
Logs out the current user and expires the existing session cookie. A valid session cookie is required to call the logout endpoint.
</div>
<dl class="details">
<p class="tag-source">
<a href="lib_client_UserClient.ts.html" class="button">View Source</a>
<span>
<a href="lib_client_UserClient.ts.html">lib/client/UserClient.ts</a>, <a href="lib_client_UserClient.ts.html#line164">line 164</a>
</span>
</p>
</dl>
<div class='columns method-parameter'>
<div class="column is-2"><label>Throws:</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-12 has-text-left'>
<label>Type: </label>
<code class="param-type"><a href="TechnicalError.html">TechnicalError</a></code>
</div>
</div>
</div>
</div>
<div class='columns method-parameter'>
<div class="column is-2"><label>Returns:</label></div>
<div class="column is-10">
<div class="columns">
<div class='column is-5 has-text-left'>
<label>Type: </label>
<code class="param-type">Promise.&lt;void></code>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</section>
</div>
<footer class="footer">
<div class="content has-text-centered">
<p>Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.11</a></p>
<p class="sidebar-created-by">
<a href="https://github.com/SoftwareBrothers/better-docs" target="_blank">BetterDocs theme</a> provided with <i class="fas fa-heart"></i> by
<a href="http://softwarebrothers.co" target="_blank">SoftwareBrothers - JavaScript Development Agency</a>
</p>
</div>
</footer>
</div>
<div id="side-nav" class="side-nav">
</div>
</div>
<script src="scripts/app.min.js"></script>
<script>PR.prettyPrint();</script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>