624 lines
36 KiB
HTML
624 lines
36 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
|
|||
|
<html>
|
|||
|
<head>
|
|||
|
<meta charset="utf-8" />
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|||
|
<title>Authentication — FitTrackee 0.4.0
|
|||
|
documentation</title>
|
|||
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|||
|
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
|
|||
|
<link rel="stylesheet" type="text/css" href="../_static/custom.css" />
|
|||
|
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
|||
|
<script src="../_static/jquery.js"></script>
|
|||
|
<script src="../_static/underscore.js"></script>
|
|||
|
<script src="../_static/doctools.js"></script>
|
|||
|
<link rel="index" title="Index" href="../genindex.html" />
|
|||
|
<link rel="search" title="Search" href="../search.html" />
|
|||
|
<link rel="next" title="Configuration" href="configuration.html" />
|
|||
|
<link rel="prev" title="Activities" href="activities.html" />
|
|||
|
<meta charset='utf-8'>
|
|||
|
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
|||
|
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
|||
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|||
|
<script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js "></script>
|
|||
|
<script type="text/javascript" src="../_static/js/jquery-fix.js "></script>
|
|||
|
<script type="text/javascript" src="../_static/bootstrap-3.3.7/js/bootstrap.min.js "></script>
|
|||
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js "></script>
|
|||
|
|
|||
|
</head><body>
|
|||
|
|
|||
|
<div id="navbar" class="navbar navbar-default navbar-fixed-top">
|
|||
|
<div class="container">
|
|||
|
<div class="navbar-header">
|
|||
|
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
|
|||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
|
|||
|
<span class="icon-bar"></span>
|
|||
|
<span class="icon-bar"></span>
|
|||
|
<span class="icon-bar"></span>
|
|||
|
</button>
|
|||
|
<a class="navbar-brand" href="../index.html">
|
|||
|
FitTrackee</a>
|
|||
|
<span class="navbar-text navbar-version pull-left"><b>0.4.0
|
|||
|
</b></span>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="collapse navbar-collapse nav-collapse">
|
|||
|
<ul class="nav navbar-nav">
|
|||
|
|
|||
|
<li><a href="https://github.com/SamR1/FitTrackee">GitHub</a></li>
|
|||
|
|
|||
|
|
|||
|
<li class="dropdown globaltoc-container">
|
|||
|
<a role="button"
|
|||
|
id="dLabelGlobalToc"
|
|||
|
data-toggle="dropdown"
|
|||
|
data-target="#"
|
|||
|
href="../index.html">Docs <b class="caret"></b></a>
|
|||
|
<ul class="dropdown-menu globaltoc"
|
|||
|
role="menu"
|
|||
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
|||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|||
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
|||
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
|||
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
|||
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
|||
|
</ul>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="dropdown">
|
|||
|
<a role="button"
|
|||
|
id="dLabelLocalToc"
|
|||
|
data-toggle="dropdown"
|
|||
|
data-target="#"
|
|||
|
href="#">Page <b class="caret"></b></a>
|
|||
|
<ul class="dropdown-menu localtoc"
|
|||
|
role="menu"
|
|||
|
aria-labelledby="dLabelLocalToc"><ul>
|
|||
|
<li><a class="reference internal" href="#">Authentication</a></li>
|
|||
|
</ul>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="activities.html" title="Previous Chapter: Activities"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Activities</span>
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="configuration.html" title="Next Chapter: Configuration"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Configuration »</span>
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="hidden-sm">
|
|||
|
<div id="sourcelink">
|
|||
|
<a href="../_sources/api/auth.rst.txt"
|
|||
|
rel="nofollow">Source</a>
|
|||
|
</div></li>
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<form class="navbar-form navbar-right" action="../search.html" method="get">
|
|||
|
<div class="form-group">
|
|||
|
<input type="text" name="q" class="form-control" placeholder="Search" />
|
|||
|
</div>
|
|||
|
<input type="hidden" name="check_keywords" value="yes" />
|
|||
|
<input type="hidden" name="area" value="default" />
|
|||
|
</form>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="container">
|
|||
|
<div class="row">
|
|||
|
<div class="body col-md-12 content" role="main">
|
|||
|
|
|||
|
<div class="section" id="authentication">
|
|||
|
<h1>Authentication<a class="headerlink" href="#authentication" title="Permalink to this headline">¶</a></h1>
|
|||
|
<dl class="http post">
|
|||
|
<dt id="post--api-auth-register">
|
|||
|
<code class="sig-name descname">POST </code><code class="sig-name descname">/api/auth/register</code><a class="headerlink" href="#post--api-auth-register" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>register a user</p>
|
|||
|
<p><strong>Example request</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">POST</span> <span class="nn">/api/auth/register</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p><strong>Example responses</strong>:</p>
|
|||
|
<ul class="simple">
|
|||
|
<li><p>successful registration</p></li>
|
|||
|
</ul>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">201</span> <span class="ne">CREATED</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"auth_token"</span><span class="p">:</span> <span class="s2">"JSON Web Token"</span><span class="p">,</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"Successfully registered."</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<ul class="simple">
|
|||
|
<li><p>error on registration</p></li>
|
|||
|
</ul>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">400</span> <span class="ne">BAD REQUEST</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"Errors: Valid email must be provided.\n"</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"error"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<dl class="field-list simple">
|
|||
|
<dt class="field-odd">Request JSON Object</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><strong>username</strong> (<em>string</em>) – user name (3 to 12 characters required)</p></li>
|
|||
|
<li><p><strong>email</strong> (<em>string</em>) – user email</p></li>
|
|||
|
<li><p><strong>password</strong> (<em>string</em>) – password (8 characters required)</p></li>
|
|||
|
<li><p><strong>password_conf</strong> (<em>string</em>) – password confirmation</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-even">Status Codes</dt>
|
|||
|
<dd class="field-even"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.2">201 Created</a> – Successfully registered.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1">400 Bad Request</a> – <ul>
|
|||
|
<li><p>Invalid payload.</p></li>
|
|||
|
<li><p>Sorry. That user already exists.</p></li>
|
|||
|
<li><dl class="simple">
|
|||
|
<dt>Errors:</dt><dd><ul>
|
|||
|
<li><p>3 to 12 characters required for usernanme.</p></li>
|
|||
|
<li><p>Valid email must be provided.</p></li>
|
|||
|
<li><p>Password and password confirmation don’t match.</p></li>
|
|||
|
<li><p>8 characters required for password.</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4">403 Forbidden</a> – Error. Registration is disabled.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1">500 Internal Server Error</a> – Error. Please try again or contact the administrator.</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="http post">
|
|||
|
<dt id="post--api-auth-login">
|
|||
|
<code class="sig-name descname">POST </code><code class="sig-name descname">/api/auth/login</code><a class="headerlink" href="#post--api-auth-login" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>user login</p>
|
|||
|
<p><strong>Example request</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">POST</span> <span class="nn">/api/auth/login</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p><strong>Example responses</strong>:</p>
|
|||
|
<ul class="simple">
|
|||
|
<li><p>successful login</p></li>
|
|||
|
</ul>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">200</span> <span class="ne">OK</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"auth_token"</span><span class="p">:</span> <span class="s2">"JSON Web Token"</span><span class="p">,</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"Successfully logged in."</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<ul class="simple">
|
|||
|
<li><p>error on login</p></li>
|
|||
|
</ul>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">404</span> <span class="ne">NOT FOUND</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"Invalid credentials."</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"error"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<dl class="field-list simple">
|
|||
|
<dt class="field-odd">Request JSON Object</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><strong>email</strong> (<em>string</em>) – user email</p></li>
|
|||
|
<li><p><strong>password_conf</strong> (<em>string</em>) – password confirmation</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-even">Status Codes</dt>
|
|||
|
<dd class="field-even"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1">200 OK</a> – Successfully logged in.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">404 Not Found</a> – Invalid credentials.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1">500 Internal Server Error</a> – Error. Please try again or contact the administrator.</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="http get">
|
|||
|
<dt id="get--api-auth-logout">
|
|||
|
<code class="sig-name descname">GET </code><code class="sig-name descname">/api/auth/logout</code><a class="headerlink" href="#get--api-auth-logout" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>user logout</p>
|
|||
|
<p><strong>Example request</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">GET</span> <span class="nn">/api/auth/logout</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p><strong>Example responses</strong>:</p>
|
|||
|
<ul class="simple">
|
|||
|
<li><p>successful logout</p></li>
|
|||
|
</ul>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">200</span> <span class="ne">OK</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"Successfully logged out."</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<ul class="simple">
|
|||
|
<li><p>error on login</p></li>
|
|||
|
</ul>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">401</span> <span class="ne">UNAUTHORIZED</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"Provide a valid auth token."</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"error"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<dl class="field-list simple">
|
|||
|
<dt class="field-odd">Request Headers</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="https://tools.ietf.org/html/rfc7235#section-4.2">Authorization</a> – OAuth 2.0 Bearer Token</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-even">Status Codes</dt>
|
|||
|
<dd class="field-even"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1">200 OK</a> – Successfully logged out.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a> – Provide a valid auth token.</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="http get">
|
|||
|
<dt id="get--api-auth-profile">
|
|||
|
<code class="sig-name descname">GET </code><code class="sig-name descname">/api/auth/profile</code><a class="headerlink" href="#get--api-auth-profile" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>get authenticated user info</p>
|
|||
|
<p><strong>Example request</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">GET</span> <span class="nn">/api/auth/profile</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p><strong>Example response</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">200</span> <span class="ne">OK</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"data"</span><span class="p">:</span> <span class="p">{</span>
|
|||
|
<span class="nt">"admin"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
|
|||
|
<span class="nt">"bio"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"birth_date"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"created_at"</span><span class="p">:</span> <span class="s2">"Sun, 14 Jul 2019 14:09:58 GMT"</span><span class="p">,</span>
|
|||
|
<span class="nt">"email"</span><span class="p">:</span> <span class="s2">"sam@example.com"</span><span class="p">,</span>
|
|||
|
<span class="nt">"first_name"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"language"</span><span class="p">:</span> <span class="s2">"en"</span><span class="p">,</span>
|
|||
|
<span class="nt">"last_name"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"location"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"nb_activities"</span><span class="p">:</span> <span class="mi">6</span><span class="p">,</span>
|
|||
|
<span class="nt">"nb_sports"</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
|
|||
|
<span class="nt">"picture"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
|
|||
|
<span class="nt">"sports_list"</span><span class="p">:</span> <span class="p">[</span>
|
|||
|
<span class="mi">1</span><span class="p">,</span>
|
|||
|
<span class="mi">4</span><span class="p">,</span>
|
|||
|
<span class="mi">6</span>
|
|||
|
<span class="p">],</span>
|
|||
|
<span class="nt">"timezone"</span><span class="p">:</span> <span class="s2">"Europe/Paris"</span><span class="p">,</span>
|
|||
|
<span class="nt">"total_distance"</span><span class="p">:</span> <span class="mf">67.895</span><span class="p">,</span>
|
|||
|
<span class="nt">"total_duration"</span><span class="p">:</span> <span class="s2">"6:50:27"</span><span class="p">,</span>
|
|||
|
<span class="nt">"username"</span><span class="p">:</span> <span class="s2">"sam"</span><span class="p">,</span>
|
|||
|
<span class="nt">"weekm"</span><span class="p">:</span> <span class="kc">false</span>
|
|||
|
<span class="p">},</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<dl class="field-list simple">
|
|||
|
<dt class="field-odd">Request Headers</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="https://tools.ietf.org/html/rfc7235#section-4.2">Authorization</a> – OAuth 2.0 Bearer Token</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-even">Status Codes</dt>
|
|||
|
<dd class="field-even"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1">200 OK</a> – success.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a> – <ul>
|
|||
|
<li><p>Provide a valid auth token.</p></li>
|
|||
|
<li><p>Signature expired. Please log in again.</p></li>
|
|||
|
<li><p>Invalid token. Please log in again.</p></li>
|
|||
|
</ul>
|
|||
|
</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="http post">
|
|||
|
<dt id="post--api-auth-profile-edit">
|
|||
|
<code class="sig-name descname">POST </code><code class="sig-name descname">/api/auth/profile/edit</code><a class="headerlink" href="#post--api-auth-profile-edit" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>edit authenticated user</p>
|
|||
|
<p><strong>Example request</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">POST</span> <span class="nn">/api/auth/profile/edit</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p><strong>Example response</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">200</span> <span class="ne">OK</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"data"</span><span class="p">:</span> <span class="p">{</span>
|
|||
|
<span class="nt">"admin"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
|
|||
|
<span class="nt">"bio"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"birth_date"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"created_at"</span><span class="p">:</span> <span class="s2">"Sun, 14 Jul 2019 14:09:58 GMT"</span><span class="p">,</span>
|
|||
|
<span class="nt">"email"</span><span class="p">:</span> <span class="s2">"sam@example.com"</span><span class="p">,</span>
|
|||
|
<span class="nt">"first_name"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"language"</span><span class="p">:</span> <span class="s2">"en"</span><span class="p">,</span>
|
|||
|
<span class="nt">"last_name"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"location"</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
|
|||
|
<span class="nt">"nb_activities"</span><span class="p">:</span> <span class="mi">6</span><span class="p">,</span>
|
|||
|
<span class="nt">"nb_sports"</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
|
|||
|
<span class="nt">"picture"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
|
|||
|
<span class="nt">"sports_list"</span><span class="p">:</span> <span class="p">[</span>
|
|||
|
<span class="mi">1</span><span class="p">,</span>
|
|||
|
<span class="mi">4</span><span class="p">,</span>
|
|||
|
<span class="mi">6</span>
|
|||
|
<span class="p">],</span>
|
|||
|
<span class="nt">"timezone"</span><span class="p">:</span> <span class="s2">"Europe/Paris"</span><span class="p">,</span>
|
|||
|
<span class="nt">"total_distance"</span><span class="p">:</span> <span class="mf">67.895</span><span class="p">,</span>
|
|||
|
<span class="nt">"total_duration"</span><span class="p">:</span> <span class="s2">"6:50:27"</span><span class="p">,</span>
|
|||
|
<span class="nt">"username"</span><span class="p">:</span> <span class="nt">"sam"</span>
|
|||
|
<span class="nt">"weekm"</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span>
|
|||
|
<span class="p">},</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"User profile updated."</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<dl class="field-list simple">
|
|||
|
<dt class="field-odd">Request JSON Object</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><strong>first_name</strong> (<em>string</em>) – user first name</p></li>
|
|||
|
<li><p><strong>last_name</strong> (<em>string</em>) – user last name</p></li>
|
|||
|
<li><p><strong>location</strong> (<em>string</em>) – user location</p></li>
|
|||
|
<li><p><strong>bio</strong> (<em>string</em>) – user biography</p></li>
|
|||
|
<li><p><strong>birth_date</strong> (<em>string</em>) – user birth date (format: <code class="docutils literal notranslate"><span class="pre">%Y-%m-%d</span></code>)</p></li>
|
|||
|
<li><p><strong>password</strong> (<em>string</em>) – user password</p></li>
|
|||
|
<li><p><strong>password_conf</strong> (<em>string</em>) – user password confirmation</p></li>
|
|||
|
<li><p><strong>timezone</strong> (<em>string</em>) – user time zone</p></li>
|
|||
|
<li><p><strong>weekm</strong> (<em>string</em>) – does week start on Monday?</p></li>
|
|||
|
<li><p><strong>language</strong> (<em>string</em>) – language preferences</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-even">Request Headers</dt>
|
|||
|
<dd class="field-even"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="https://tools.ietf.org/html/rfc7235#section-4.2">Authorization</a> – OAuth 2.0 Bearer Token</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-odd">Status Codes</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1">200 OK</a> – User profile updated.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1">400 Bad Request</a> – <ul>
|
|||
|
<li><p>Invalid payload.</p></li>
|
|||
|
<li><p>Password and password confirmation don’t match.</p></li>
|
|||
|
</ul>
|
|||
|
</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a> – <ul>
|
|||
|
<li><p>Provide a valid auth token.</p></li>
|
|||
|
<li><p>Signature expired. Please log in again.</p></li>
|
|||
|
<li><p>Invalid token. Please log in again.</p></li>
|
|||
|
</ul>
|
|||
|
</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1">500 Internal Server Error</a> – Error. Please try again or contact the administrator.</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="http post">
|
|||
|
<dt id="post--api-auth-picture">
|
|||
|
<code class="sig-name descname">POST </code><code class="sig-name descname">/api/auth/picture</code><a class="headerlink" href="#post--api-auth-picture" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>update authenticated user picture</p>
|
|||
|
<p><strong>Example request</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">POST</span> <span class="nn">/api/auth/picture</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">multipart/form-data</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p><strong>Example response</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">200</span> <span class="ne">OK</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"User picture updated."</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<dl class="field-list simple">
|
|||
|
<dt class="field-odd">Form Parameters</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><strong>file</strong> – image file (allowed extensions: .jpg, .png, .gif)</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-even">Request Headers</dt>
|
|||
|
<dd class="field-even"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="https://tools.ietf.org/html/rfc7235#section-4.2">Authorization</a> – OAuth 2.0 Bearer Token</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-odd">Status Codes</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1">200 OK</a> – User picture updated.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1">400 Bad Request</a> – <ul>
|
|||
|
<li><p>Invalid payload.</p></li>
|
|||
|
<li><p>No file part.</p></li>
|
|||
|
<li><p>No selected file.</p></li>
|
|||
|
<li><p>File extension not allowed.</p></li>
|
|||
|
</ul>
|
|||
|
</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a> – <ul>
|
|||
|
<li><p>Provide a valid auth token.</p></li>
|
|||
|
<li><p>Signature expired. Please log in again.</p></li>
|
|||
|
<li><p>Invalid token. Please log in again.</p></li>
|
|||
|
</ul>
|
|||
|
</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.14">413 Request Entity Too Large</a> – Error during picture update: file size exceeds 1.0MB.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1">500 Internal Server Error</a> – Error during picture update.</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="http delete">
|
|||
|
<dt id="delete--api-auth-picture">
|
|||
|
<code class="sig-name descname">DELETE </code><code class="sig-name descname">/api/auth/picture</code><a class="headerlink" href="#delete--api-auth-picture" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>delete authenticated user picture</p>
|
|||
|
<p><strong>Example request</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">DELETE</span> <span class="nn">/api/auth/picture</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p><strong>Example response</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">204</span> <span class="ne">NO CONTENT</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<dl class="field-list simple">
|
|||
|
<dt class="field-odd">Request Headers</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="https://tools.ietf.org/html/rfc7235#section-4.2">Authorization</a> – OAuth 2.0 Bearer Token</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-even">Status Codes</dt>
|
|||
|
<dd class="field-even"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5">204 No Content</a> – picture deleted</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a> – <ul>
|
|||
|
<li><p>Provide a valid auth token.</p></li>
|
|||
|
<li><p>Signature expired. Please log in again.</p></li>
|
|||
|
<li><p>Invalid token. Please log in again.</p></li>
|
|||
|
</ul>
|
|||
|
</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1">500 Internal Server Error</a> – Error during picture deletion.</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="http post">
|
|||
|
<dt id="post--api-auth-password-reset-request">
|
|||
|
<code class="sig-name descname">POST </code><code class="sig-name descname">/api/auth/password/reset-request</code><a class="headerlink" href="#post--api-auth-password-reset-request" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>handle password reset request</p>
|
|||
|
<p><strong>Example request</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">POST</span> <span class="nn">/api/auth/password/reset-request</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p><strong>Example response</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">200</span> <span class="ne">OK</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"Password reset request processed."</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<dl class="field-list simple">
|
|||
|
<dt class="field-odd">Request JSON Object</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><strong>email</strong> (<em>string</em>) – user email</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-even">Status Codes</dt>
|
|||
|
<dd class="field-even"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1">200 OK</a> – Password reset request processed.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1">400 Bad Request</a> – Invalid payload.</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="http post">
|
|||
|
<dt id="post--api-auth-password-update">
|
|||
|
<code class="sig-name descname">POST </code><code class="sig-name descname">/api/auth/password/update</code><a class="headerlink" href="#post--api-auth-password-update" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>update user password</p>
|
|||
|
<p><strong>Example request</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">POST</span> <span class="nn">/api/auth/password/update</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p><strong>Example response</strong>:</p>
|
|||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">200</span> <span class="ne">OK</span>
|
|||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/json</span>
|
|||
|
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="nt">"message"</span><span class="p">:</span> <span class="s2">"Password updated."</span><span class="p">,</span>
|
|||
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<dl class="field-list simple">
|
|||
|
<dt class="field-odd">Request JSON Object</dt>
|
|||
|
<dd class="field-odd"><ul class="simple">
|
|||
|
<li><p><strong>password</strong> (<em>string</em>) – password (8 characters required)</p></li>
|
|||
|
<li><p><strong>password_conf</strong> (<em>string</em>) – password confirmation</p></li>
|
|||
|
<li><p><strong>token</strong> (<em>string</em>) – password reset token</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="field-even">Status Codes</dt>
|
|||
|
<dd class="field-even"><ul class="simple">
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1">200 OK</a> – Password updated.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1">400 Bad Request</a> – Invalid payload.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a> – Invalid token.</p></li>
|
|||
|
<li><p><a class="reference external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1">500 Internal Server Error</a> – Error. Please try again or contact the administrator.</p></li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<footer class="footer">
|
|||
|
<div class="container">
|
|||
|
<p class="pull-right">
|
|||
|
<a href="#">Back to top</a>
|
|||
|
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
© Copyright 2018 - 2020, SamR1.<br/>
|
|||
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.4.1.<br/>
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</footer>
|
|||
|
</body>
|
|||
|
</html>
|