Automated deployment: Tue Jun 8 14:29:22 UTC 2021 22384f6405

This commit is contained in:
frankie567
2021-06-08 14:29:22 +00:00
parent 6b3ae71291
commit afcce32d6b
44 changed files with 1486 additions and 1404 deletions

View File

@@ -11,8 +11,8 @@
<link rel="icon" href="../../favicon.png">
<meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.1.5">
<link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2, mkdocs-material-7.1.7">
@@ -20,10 +20,10 @@
<link rel="stylesheet" href="../../assets/stylesheets/main.bde7dde4.min.css">
<link rel="stylesheet" href="../assets/stylesheets/main.ca7ac06f.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.ef6f36e2.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.f1a3b89f.min.css">
@@ -55,7 +55,7 @@
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red">
<script>function __prefix(e){return new URL("../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>function __prefix(e){return new URL("..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>var palette=__get("__palette");if(null!==palette&&"object"==typeof palette.color)for(var key in palette.color)document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
@@ -76,7 +76,7 @@
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="FastAPI Users" class="md-header__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<a href="../index.html" title="FastAPI Users" class="md-header__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.5 12A2.5 2.5 0 0 0 19 9.5 2.5 2.5 0 0 0 16.5 7 2.5 2.5 0 0 0 14 9.5a2.5 2.5 0 0 0 2.5 2.5M9 11a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z"/></svg>
@@ -106,7 +106,7 @@
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red" type="radio" name="__palette" id="__palette_1">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 0-7 7c0 2.38 1.19 4.47 3 5.74V17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2.26c1.81-1.27 3-3.36 3-5.74a7 7 0 0 0-7-7M9 21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1H9v1z"/></svg>
@@ -115,7 +115,7 @@
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="red" data-md-color-accent="red" type="radio" name="__palette" id="__palette_2">
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7M9 21v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m3-17a5 5 0 0 0-5 5c0 2.05 1.23 3.81 3 4.58V16h4v-2.42c1.77-.77 3-2.53 3-4.58a5 5 0 0 0-5-5z"/></svg>
@@ -191,7 +191,7 @@
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="FastAPI Users" class="md-nav__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<a href="../index.html" title="FastAPI Users" class="md-nav__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.5 12A2.5 2.5 0 0 0 19 9.5 2.5 2.5 0 0 0 16.5 7 2.5 2.5 0 0 0 14 9.5a2.5 2.5 0 0 0 2.5 2.5M9 11a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z"/></svg>
@@ -223,7 +223,7 @@
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<a href="../index.html" class="md-nav__link">
About
</a>
</li>
@@ -238,7 +238,7 @@
<li class="md-nav__item">
<a href="../../installation/" class="md-nav__link">
<a href="../installation.html" class="md-nav__link">
Installation
</a>
</li>
@@ -274,7 +274,7 @@
<li class="md-nav__item">
<a href="../../configuration/model/" class="md-nav__link">
<a href="../configuration/model.html" class="md-nav__link">
User model
</a>
</li>
@@ -307,7 +307,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/sqlalchemy/" class="md-nav__link">
<a href="../configuration/databases/sqlalchemy.html" class="md-nav__link">
SQLAlchemy
</a>
</li>
@@ -319,7 +319,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/mongodb/" class="md-nav__link">
<a href="../configuration/databases/mongodb.html" class="md-nav__link">
MongoDB
</a>
</li>
@@ -331,7 +331,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/tortoise/" class="md-nav__link">
<a href="../configuration/databases/tortoise.html" class="md-nav__link">
Tortoise ORM
</a>
</li>
@@ -343,7 +343,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/ormar/" class="md-nav__link">
<a href="../configuration/databases/ormar.html" class="md-nav__link">
Ormar
</a>
</li>
@@ -382,7 +382,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/" class="md-nav__link">
<a href="../configuration/authentication/index.html" class="md-nav__link">
Introduction
</a>
</li>
@@ -394,7 +394,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/jwt/" class="md-nav__link">
<a href="../configuration/authentication/jwt.html" class="md-nav__link">
JWT
</a>
</li>
@@ -406,7 +406,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/cookie/" class="md-nav__link">
<a href="../configuration/authentication/cookie.html" class="md-nav__link">
Cookie
</a>
</li>
@@ -445,7 +445,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/" class="md-nav__link">
<a href="../configuration/routers/index.html" class="md-nav__link">
Introduction
</a>
</li>
@@ -457,7 +457,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/auth/" class="md-nav__link">
<a href="../configuration/routers/auth.html" class="md-nav__link">
Auth router
</a>
</li>
@@ -469,7 +469,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/register/" class="md-nav__link">
<a href="../configuration/routers/register.html" class="md-nav__link">
Register routes
</a>
</li>
@@ -481,7 +481,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/reset/" class="md-nav__link">
<a href="../configuration/routers/reset.html" class="md-nav__link">
Reset password router
</a>
</li>
@@ -493,7 +493,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/users/" class="md-nav__link">
<a href="../configuration/routers/users.html" class="md-nav__link">
Users router
</a>
</li>
@@ -505,7 +505,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/verify/" class="md-nav__link">
<a href="../configuration/routers/verify.html" class="md-nav__link">
Verify router
</a>
</li>
@@ -523,7 +523,7 @@
<li class="md-nav__item">
<a href="../../configuration/password-validation/" class="md-nav__link">
<a href="../configuration/password-validation.html" class="md-nav__link">
Password validation
</a>
</li>
@@ -535,7 +535,7 @@
<li class="md-nav__item">
<a href="../../configuration/full-example/" class="md-nav__link">
<a href="../configuration/full-example.html" class="md-nav__link">
Full example
</a>
</li>
@@ -547,7 +547,7 @@
<li class="md-nav__item">
<a href="../../configuration/oauth/" class="md-nav__link">
<a href="../configuration/oauth.html" class="md-nav__link">
OAuth2
</a>
</li>
@@ -591,7 +591,7 @@
<li class="md-nav__item">
<a href="../flow/" class="md-nav__link">
<a href="flow.html" class="md-nav__link">
Flow
</a>
</li>
@@ -603,7 +603,7 @@
<li class="md-nav__item">
<a href="../routes/" class="md-nav__link">
<a href="routes.html" class="md-nav__link">
Routes
</a>
</li>
@@ -629,7 +629,7 @@
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<a href="dependency-callables.html" class="md-nav__link md-nav__link--active">
Dependency callables
</a>
@@ -811,7 +811,7 @@
<li class="md-nav__item">
<a href="../helpers/" class="md-nav__link">
<a href="helpers.html" class="md-nav__link">
Helpers
</a>
</li>
@@ -853,7 +853,7 @@
<li class="md-nav__item">
<a href="../../migration/08_to_1x/" class="md-nav__link">
<a href="../migration/08_to_1x.html" class="md-nav__link">
0.8.x ➡️ 1.x.x
</a>
</li>
@@ -865,7 +865,7 @@
<li class="md-nav__item">
<a href="../../migration/1x_to_2x/" class="md-nav__link">
<a href="../migration/1x_to_2x.html" class="md-nav__link">
1.x.x ➡️ 2.x.x
</a>
</li>
@@ -877,7 +877,7 @@
<li class="md-nav__item">
<a href="../../migration/2x_to_3x/" class="md-nav__link">
<a href="../migration/2x_to_3x.html" class="md-nav__link">
2.x.x ➡️ 3.x.x
</a>
</li>
@@ -889,7 +889,7 @@
<li class="md-nav__item">
<a href="../../migration/3x_to_4x/" class="md-nav__link">
<a href="../migration/3x_to_4x.html" class="md-nav__link">
3.x.x ➡️ 4.x.x
</a>
</li>
@@ -901,7 +901,7 @@
<li class="md-nav__item">
<a href="../../migration/4x_to_5x/" class="md-nav__link">
<a href="../migration/4x_to_5x.html" class="md-nav__link">
4.x.x ➡️ 5.x.x
</a>
</li>
@@ -1107,7 +1107,7 @@
<p><strong>FastAPI Users</strong> provides a dependency callable to easily inject authenticated user in your routes. They are available from your <code>FastAPIUsers</code> instance.</p>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>For more information about how to make an authenticated request to your API, check the documentation of your <a href="../../configuration/authentication/">Authentication method</a>.</p>
<p>For more information about how to make an authenticated request to your API, check the documentation of your <a href="../configuration/authentication/index.html">Authentication method</a>.</p>
</div>
<h2 id="current_user"><code>current_user</code><a class="headerlink" href="#current_user" title="Permanent link">&para;</a></h2>
<p>Return a dependency callable to retrieve currently authenticated user, passing the following parameters:</p>
@@ -1252,7 +1252,8 @@
<nav class="md-footer__inner md-grid" aria-label="Footer">
<a href="../routes/" class="md-footer__link md-footer__link--prev" rel="prev">
<a href="routes.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Routes" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</div>
@@ -1267,7 +1268,8 @@
</a>
<a href="../helpers/" class="md-footer__link md-footer__link--next" rel="next">
<a href="helpers.html" class="md-footer__link md-footer__link--next" aria-label="Next: Helpers" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
@@ -1302,10 +1304,10 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../assets/javascripts/workers/search.d351de03.min.js", "version": null}</script>
<script id="__config" type="application/json">{"base": "..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../assets/javascripts/workers/search.b0710199.min.js", "version": null}</script>
<script src="../../assets/javascripts/bundle.a1609d9a.min.js"></script>
<script src="../assets/javascripts/bundle.76f349be.min.js"></script>
</body>

View File

@@ -11,8 +11,8 @@
<link rel="icon" href="../../favicon.png">
<meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.1.5">
<link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2, mkdocs-material-7.1.7">
@@ -20,10 +20,10 @@
<link rel="stylesheet" href="../../assets/stylesheets/main.bde7dde4.min.css">
<link rel="stylesheet" href="../assets/stylesheets/main.ca7ac06f.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.ef6f36e2.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.f1a3b89f.min.css">
@@ -55,7 +55,7 @@
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red">
<script>function __prefix(e){return new URL("../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>function __prefix(e){return new URL("..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>var palette=__get("__palette");if(null!==palette&&"object"==typeof palette.color)for(var key in palette.color)document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
@@ -76,7 +76,7 @@
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="FastAPI Users" class="md-header__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<a href="../index.html" title="FastAPI Users" class="md-header__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.5 12A2.5 2.5 0 0 0 19 9.5 2.5 2.5 0 0 0 16.5 7 2.5 2.5 0 0 0 14 9.5a2.5 2.5 0 0 0 2.5 2.5M9 11a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z"/></svg>
@@ -106,7 +106,7 @@
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red" type="radio" name="__palette" id="__palette_1">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 0-7 7c0 2.38 1.19 4.47 3 5.74V17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2.26c1.81-1.27 3-3.36 3-5.74a7 7 0 0 0-7-7M9 21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1H9v1z"/></svg>
@@ -115,7 +115,7 @@
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="red" data-md-color-accent="red" type="radio" name="__palette" id="__palette_2">
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7M9 21v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m3-17a5 5 0 0 0-5 5c0 2.05 1.23 3.81 3 4.58V16h4v-2.42c1.77-.77 3-2.53 3-4.58a5 5 0 0 0-5-5z"/></svg>
@@ -191,7 +191,7 @@
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="FastAPI Users" class="md-nav__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<a href="../index.html" title="FastAPI Users" class="md-nav__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.5 12A2.5 2.5 0 0 0 19 9.5 2.5 2.5 0 0 0 16.5 7 2.5 2.5 0 0 0 14 9.5a2.5 2.5 0 0 0 2.5 2.5M9 11a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z"/></svg>
@@ -223,7 +223,7 @@
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<a href="../index.html" class="md-nav__link">
About
</a>
</li>
@@ -238,7 +238,7 @@
<li class="md-nav__item">
<a href="../../installation/" class="md-nav__link">
<a href="../installation.html" class="md-nav__link">
Installation
</a>
</li>
@@ -274,7 +274,7 @@
<li class="md-nav__item">
<a href="../../configuration/model/" class="md-nav__link">
<a href="../configuration/model.html" class="md-nav__link">
User model
</a>
</li>
@@ -307,7 +307,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/sqlalchemy/" class="md-nav__link">
<a href="../configuration/databases/sqlalchemy.html" class="md-nav__link">
SQLAlchemy
</a>
</li>
@@ -319,7 +319,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/mongodb/" class="md-nav__link">
<a href="../configuration/databases/mongodb.html" class="md-nav__link">
MongoDB
</a>
</li>
@@ -331,7 +331,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/tortoise/" class="md-nav__link">
<a href="../configuration/databases/tortoise.html" class="md-nav__link">
Tortoise ORM
</a>
</li>
@@ -343,7 +343,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/ormar/" class="md-nav__link">
<a href="../configuration/databases/ormar.html" class="md-nav__link">
Ormar
</a>
</li>
@@ -382,7 +382,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/" class="md-nav__link">
<a href="../configuration/authentication/index.html" class="md-nav__link">
Introduction
</a>
</li>
@@ -394,7 +394,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/jwt/" class="md-nav__link">
<a href="../configuration/authentication/jwt.html" class="md-nav__link">
JWT
</a>
</li>
@@ -406,7 +406,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/cookie/" class="md-nav__link">
<a href="../configuration/authentication/cookie.html" class="md-nav__link">
Cookie
</a>
</li>
@@ -445,7 +445,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/" class="md-nav__link">
<a href="../configuration/routers/index.html" class="md-nav__link">
Introduction
</a>
</li>
@@ -457,7 +457,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/auth/" class="md-nav__link">
<a href="../configuration/routers/auth.html" class="md-nav__link">
Auth router
</a>
</li>
@@ -469,7 +469,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/register/" class="md-nav__link">
<a href="../configuration/routers/register.html" class="md-nav__link">
Register routes
</a>
</li>
@@ -481,7 +481,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/reset/" class="md-nav__link">
<a href="../configuration/routers/reset.html" class="md-nav__link">
Reset password router
</a>
</li>
@@ -493,7 +493,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/users/" class="md-nav__link">
<a href="../configuration/routers/users.html" class="md-nav__link">
Users router
</a>
</li>
@@ -505,7 +505,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/verify/" class="md-nav__link">
<a href="../configuration/routers/verify.html" class="md-nav__link">
Verify router
</a>
</li>
@@ -523,7 +523,7 @@
<li class="md-nav__item">
<a href="../../configuration/password-validation/" class="md-nav__link">
<a href="../configuration/password-validation.html" class="md-nav__link">
Password validation
</a>
</li>
@@ -535,7 +535,7 @@
<li class="md-nav__item">
<a href="../../configuration/full-example/" class="md-nav__link">
<a href="../configuration/full-example.html" class="md-nav__link">
Full example
</a>
</li>
@@ -547,7 +547,7 @@
<li class="md-nav__item">
<a href="../../configuration/oauth/" class="md-nav__link">
<a href="../configuration/oauth.html" class="md-nav__link">
OAuth2
</a>
</li>
@@ -605,7 +605,7 @@
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<a href="flow.html" class="md-nav__link md-nav__link--active">
Flow
</a>
@@ -912,7 +912,7 @@
<li class="md-nav__item">
<a href="../routes/" class="md-nav__link">
<a href="routes.html" class="md-nav__link">
Routes
</a>
</li>
@@ -924,7 +924,7 @@
<li class="md-nav__item">
<a href="../dependency-callables/" class="md-nav__link">
<a href="dependency-callables.html" class="md-nav__link">
Dependency callables
</a>
</li>
@@ -936,7 +936,7 @@
<li class="md-nav__item">
<a href="../helpers/" class="md-nav__link">
<a href="helpers.html" class="md-nav__link">
Helpers
</a>
</li>
@@ -978,7 +978,7 @@
<li class="md-nav__item">
<a href="../../migration/08_to_1x/" class="md-nav__link">
<a href="../migration/08_to_1x.html" class="md-nav__link">
0.8.x ➡️ 1.x.x
</a>
</li>
@@ -990,7 +990,7 @@
<li class="md-nav__item">
<a href="../../migration/1x_to_2x/" class="md-nav__link">
<a href="../migration/1x_to_2x.html" class="md-nav__link">
1.x.x ➡️ 2.x.x
</a>
</li>
@@ -1002,7 +1002,7 @@
<li class="md-nav__item">
<a href="../../migration/2x_to_3x/" class="md-nav__link">
<a href="../migration/2x_to_3x.html" class="md-nav__link">
2.x.x ➡️ 3.x.x
</a>
</li>
@@ -1014,7 +1014,7 @@
<li class="md-nav__item">
<a href="../../migration/3x_to_4x/" class="md-nav__link">
<a href="../migration/3x_to_4x.html" class="md-nav__link">
3.x.x ➡️ 4.x.x
</a>
</li>
@@ -1026,7 +1026,7 @@
<li class="md-nav__item">
<a href="../../migration/4x_to_5x/" class="md-nav__link">
<a href="../migration/4x_to_5x.html" class="md-nav__link">
4.x.x ➡️ 5.x.x
</a>
</li>
@@ -1396,7 +1396,7 @@ http://localhost:8000/auth/register
</div>
<h2 id="2-login">2. Login<a class="headerlink" href="#2-login" title="Permanent link">&para;</a></h2>
<p>Now, you can login as this new user.</p>
<p>You can generate a <a href="../../configuration/routers/auth/">login route</a> for each <a href="../../configuration/authentication/">authentication backend</a>. Each backend will have a different response.</p>
<p>You can generate a <a href="../configuration/routers/auth.html">login route</a> for each <a href="../configuration/authentication/index.html">authentication backend</a>. Each backend will have a different response.</p>
<h3 id="jwt-backend">JWT backend<a class="headerlink" href="#jwt-backend" title="Permanent link">&para;</a></h3>
<h4 id="request_1">Request<a class="headerlink" href="#request_1" title="Permanent link">&para;</a></h4>
<div class="tabbed-set" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><label for="__tabbed_2_1">cURL</label><div class="tabbed-content">
@@ -1482,7 +1482,7 @@ http://localhost:8000/auth/cookie/login
<p>The cookie backend is more suited for browsers, as they handle them automatically. This means that if you make a login request in the browser, it will automatically store the cookie and automatically send it in subsequent requests.</p>
</div>
<h2 id="3-get-my-profile">3. Get my profile<a class="headerlink" href="#3-get-my-profile" title="Permanent link">&para;</a></h2>
<p>Now that we can authenticate, we can get our own profile data. Depending on your <a href="../../configuration/authentication/">authentication backend</a>, the method to authenticate the request will vary. We'll stick with JWT from now on.</p>
<p>Now that we can authenticate, we can get our own profile data. Depending on your <a href="../configuration/authentication/index.html">authentication backend</a>, the method to authenticate the request will vary. We'll stick with JWT from now on.</p>
<h3 id="request_3">Request<a class="headerlink" href="#request_3" title="Permanent link">&para;</a></h3>
<div class="tabbed-set" data-tabs="4:2"><input checked="checked" id="__tabbed_4_1" name="__tabbed_4" type="radio" /><label for="__tabbed_4_1">cURL</label><div class="tabbed-content">
<div class="highlight"><pre><span></span><code><span class="nb">export</span> <span class="nv">TOKEN</span><span class="o">=</span><span class="s2">&quot;eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiNGZkMzQ3N2ItZWNjZi00ZWUzLThmN2QtNjhhZDcyMjYxNDc2IiwiYXVkIjoiZmFzdGFwaS11c2VyczphdXRoIiwiZXhwIjoxNTg3ODE4NDI5fQ.anO3JR8-WYCozZ4_2-PQ2Ov9O38RaLP2RAzQIiZhteM&quot;</span><span class="p">;</span>
@@ -1517,7 +1517,7 @@ http://localhost:8000/users/me
</code></pre></div>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>If you use one of the <a href="../dependency-callables/">dependency callable</a> to protect one of your own endpoint, you'll have to authenticate exactly in the same way.</p>
<p>If you use one of the <a href="dependency-callables.html">dependency callable</a> to protect one of your own endpoint, you'll have to authenticate exactly in the same way.</p>
</div>
<h2 id="4-update-my-profile">4. Update my profile<a class="headerlink" href="#4-update-my-profile" title="Permanent link">&para;</a></h2>
<p>We can also update our own profile. For example, we can change our password like this.</p>
@@ -1565,7 +1565,7 @@ http://localhost:8000/users/me
<p>If you want to manage the users of your application, you'll have to become a <strong>superuser</strong>.</p>
<p>The very first superuser can only be set at <strong>database level</strong>: open it through a CLI or a GUI, find your user and set the <code>is_superuser</code> column/property to <code>true</code>.</p>
<h3 id="51-get-the-profile-of-any-user">5.1. Get the profile of any user<a class="headerlink" href="#51-get-the-profile-of-any-user" title="Permanent link">&para;</a></h3>
<p>Now that you are a superuser, you can leverage the power of <a href="../routes/#superuser">superuser routes</a>. You can for example get the profile of any user in the database given its id.</p>
<p>Now that you are a superuser, you can leverage the power of <a href="routes.html#superuser">superuser routes</a>. You can for example get the profile of any user in the database given its id.</p>
<h4 id="request_5">Request<a class="headerlink" href="#request_5" title="Permanent link">&para;</a></h4>
<div class="tabbed-set" data-tabs="6:2"><input checked="checked" id="__tabbed_6_1" name="__tabbed_6" type="radio" /><label for="__tabbed_6_1">cURL</label><div class="tabbed-content">
<div class="highlight"><pre><span></span><code>curl <span class="se">\</span>
@@ -1662,7 +1662,7 @@ http://localhost:8000/users/4fd3477b-eccf-4ee3-8f7d-68ad72261476
<h4 id="response_7">Response<a class="headerlink" href="#response_7" title="Permanent link">&para;</a></h4>
<p>You'll get an empty response.</p>
<h2 id="6-logout">6. Logout<a class="headerlink" href="#6-logout" title="Permanent link">&para;</a></h2>
<p>We can also end the session. Note that it doesn't apply to every <a href="../../configuration/authentication/">authentication backends</a>. For JWT, it doesn't make sense to end the session, the token is valid until it expires. However, for <strong>Cookie</strong> backend, the server will clear the cookie.</p>
<p>We can also end the session. Note that it doesn't apply to every <a href="../configuration/authentication/index.html">authentication backends</a>. For JWT, it doesn't make sense to end the session, the token is valid until it expires. However, for <strong>Cookie</strong> backend, the server will clear the cookie.</p>
<h3 id="request_8">Request<a class="headerlink" href="#request_8" title="Permanent link">&para;</a></h3>
<div class="tabbed-set" data-tabs="9:2"><input checked="checked" id="__tabbed_9_1" name="__tabbed_9" type="radio" /><label for="__tabbed_9_1">cURL</label><div class="tabbed-content">
<div class="highlight"><pre><span></span><code>curl <span class="se">\</span>
@@ -1689,7 +1689,7 @@ http://localhost:8000/auth/cookie/logout
<h3 id="response_8">Response<a class="headerlink" href="#response_8" title="Permanent link">&para;</a></h3>
<p>You'll get an empty response.</p>
<h2 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">&para;</a></h2>
<p>That's it! You now have a good overview of how you can manage the users through the API. Be sure to check the <a href="../routes/">Routes</a> page to have all the details about each endpoints.</p>
<p>That's it! You now have a good overview of how you can manage the users through the API. Be sure to check the <a href="routes.html">Routes</a> page to have all the details about each endpoints.</p>
@@ -1708,7 +1708,8 @@ http://localhost:8000/auth/cookie/logout
<nav class="md-footer__inner md-grid" aria-label="Footer">
<a href="../../configuration/oauth/" class="md-footer__link md-footer__link--prev" rel="prev">
<a href="../configuration/oauth.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: OAuth2" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</div>
@@ -1723,7 +1724,8 @@ http://localhost:8000/auth/cookie/logout
</a>
<a href="../routes/" class="md-footer__link md-footer__link--next" rel="next">
<a href="routes.html" class="md-footer__link md-footer__link--next" aria-label="Next: Routes" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
@@ -1758,10 +1760,10 @@ http://localhost:8000/auth/cookie/logout
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../assets/javascripts/workers/search.d351de03.min.js", "version": null}</script>
<script id="__config" type="application/json">{"base": "..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../assets/javascripts/workers/search.b0710199.min.js", "version": null}</script>
<script src="../../assets/javascripts/bundle.a1609d9a.min.js"></script>
<script src="../assets/javascripts/bundle.76f349be.min.js"></script>
</body>

View File

@@ -11,8 +11,8 @@
<link rel="icon" href="../../favicon.png">
<meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.1.5">
<link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2, mkdocs-material-7.1.7">
@@ -20,10 +20,10 @@
<link rel="stylesheet" href="../../assets/stylesheets/main.bde7dde4.min.css">
<link rel="stylesheet" href="../assets/stylesheets/main.ca7ac06f.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.ef6f36e2.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.f1a3b89f.min.css">
@@ -55,7 +55,7 @@
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red">
<script>function __prefix(e){return new URL("../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>function __prefix(e){return new URL("..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>var palette=__get("__palette");if(null!==palette&&"object"==typeof palette.color)for(var key in palette.color)document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
@@ -76,7 +76,7 @@
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="FastAPI Users" class="md-header__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<a href="../index.html" title="FastAPI Users" class="md-header__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.5 12A2.5 2.5 0 0 0 19 9.5 2.5 2.5 0 0 0 16.5 7 2.5 2.5 0 0 0 14 9.5a2.5 2.5 0 0 0 2.5 2.5M9 11a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z"/></svg>
@@ -106,7 +106,7 @@
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red" type="radio" name="__palette" id="__palette_1">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 0-7 7c0 2.38 1.19 4.47 3 5.74V17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2.26c1.81-1.27 3-3.36 3-5.74a7 7 0 0 0-7-7M9 21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1H9v1z"/></svg>
@@ -115,7 +115,7 @@
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="red" data-md-color-accent="red" type="radio" name="__palette" id="__palette_2">
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7M9 21v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m3-17a5 5 0 0 0-5 5c0 2.05 1.23 3.81 3 4.58V16h4v-2.42c1.77-.77 3-2.53 3-4.58a5 5 0 0 0-5-5z"/></svg>
@@ -191,7 +191,7 @@
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="FastAPI Users" class="md-nav__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<a href="../index.html" title="FastAPI Users" class="md-nav__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.5 12A2.5 2.5 0 0 0 19 9.5 2.5 2.5 0 0 0 16.5 7 2.5 2.5 0 0 0 14 9.5a2.5 2.5 0 0 0 2.5 2.5M9 11a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z"/></svg>
@@ -223,7 +223,7 @@
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<a href="../index.html" class="md-nav__link">
About
</a>
</li>
@@ -238,7 +238,7 @@
<li class="md-nav__item">
<a href="../../installation/" class="md-nav__link">
<a href="../installation.html" class="md-nav__link">
Installation
</a>
</li>
@@ -274,7 +274,7 @@
<li class="md-nav__item">
<a href="../../configuration/model/" class="md-nav__link">
<a href="../configuration/model.html" class="md-nav__link">
User model
</a>
</li>
@@ -307,7 +307,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/sqlalchemy/" class="md-nav__link">
<a href="../configuration/databases/sqlalchemy.html" class="md-nav__link">
SQLAlchemy
</a>
</li>
@@ -319,7 +319,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/mongodb/" class="md-nav__link">
<a href="../configuration/databases/mongodb.html" class="md-nav__link">
MongoDB
</a>
</li>
@@ -331,7 +331,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/tortoise/" class="md-nav__link">
<a href="../configuration/databases/tortoise.html" class="md-nav__link">
Tortoise ORM
</a>
</li>
@@ -343,7 +343,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/ormar/" class="md-nav__link">
<a href="../configuration/databases/ormar.html" class="md-nav__link">
Ormar
</a>
</li>
@@ -382,7 +382,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/" class="md-nav__link">
<a href="../configuration/authentication/index.html" class="md-nav__link">
Introduction
</a>
</li>
@@ -394,7 +394,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/jwt/" class="md-nav__link">
<a href="../configuration/authentication/jwt.html" class="md-nav__link">
JWT
</a>
</li>
@@ -406,7 +406,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/cookie/" class="md-nav__link">
<a href="../configuration/authentication/cookie.html" class="md-nav__link">
Cookie
</a>
</li>
@@ -445,7 +445,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/" class="md-nav__link">
<a href="../configuration/routers/index.html" class="md-nav__link">
Introduction
</a>
</li>
@@ -457,7 +457,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/auth/" class="md-nav__link">
<a href="../configuration/routers/auth.html" class="md-nav__link">
Auth router
</a>
</li>
@@ -469,7 +469,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/register/" class="md-nav__link">
<a href="../configuration/routers/register.html" class="md-nav__link">
Register routes
</a>
</li>
@@ -481,7 +481,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/reset/" class="md-nav__link">
<a href="../configuration/routers/reset.html" class="md-nav__link">
Reset password router
</a>
</li>
@@ -493,7 +493,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/users/" class="md-nav__link">
<a href="../configuration/routers/users.html" class="md-nav__link">
Users router
</a>
</li>
@@ -505,7 +505,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/verify/" class="md-nav__link">
<a href="../configuration/routers/verify.html" class="md-nav__link">
Verify router
</a>
</li>
@@ -523,7 +523,7 @@
<li class="md-nav__item">
<a href="../../configuration/password-validation/" class="md-nav__link">
<a href="../configuration/password-validation.html" class="md-nav__link">
Password validation
</a>
</li>
@@ -535,7 +535,7 @@
<li class="md-nav__item">
<a href="../../configuration/full-example/" class="md-nav__link">
<a href="../configuration/full-example.html" class="md-nav__link">
Full example
</a>
</li>
@@ -547,7 +547,7 @@
<li class="md-nav__item">
<a href="../../configuration/oauth/" class="md-nav__link">
<a href="../configuration/oauth.html" class="md-nav__link">
OAuth2
</a>
</li>
@@ -591,7 +591,7 @@
<li class="md-nav__item">
<a href="../flow/" class="md-nav__link">
<a href="flow.html" class="md-nav__link">
Flow
</a>
</li>
@@ -603,7 +603,7 @@
<li class="md-nav__item">
<a href="../routes/" class="md-nav__link">
<a href="routes.html" class="md-nav__link">
Routes
</a>
</li>
@@ -615,7 +615,7 @@
<li class="md-nav__item">
<a href="../dependency-callables/" class="md-nav__link">
<a href="dependency-callables.html" class="md-nav__link">
Dependency callables
</a>
</li>
@@ -641,7 +641,7 @@
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<a href="helpers.html" class="md-nav__link md-nav__link--active">
Helpers
</a>
@@ -723,7 +723,7 @@
<li class="md-nav__item">
<a href="../../migration/08_to_1x/" class="md-nav__link">
<a href="../migration/08_to_1x.html" class="md-nav__link">
0.8.x ➡️ 1.x.x
</a>
</li>
@@ -735,7 +735,7 @@
<li class="md-nav__item">
<a href="../../migration/1x_to_2x/" class="md-nav__link">
<a href="../migration/1x_to_2x.html" class="md-nav__link">
1.x.x ➡️ 2.x.x
</a>
</li>
@@ -747,7 +747,7 @@
<li class="md-nav__item">
<a href="../../migration/2x_to_3x/" class="md-nav__link">
<a href="../migration/2x_to_3x.html" class="md-nav__link">
2.x.x ➡️ 3.x.x
</a>
</li>
@@ -759,7 +759,7 @@
<li class="md-nav__item">
<a href="../../migration/3x_to_4x/" class="md-nav__link">
<a href="../migration/3x_to_4x.html" class="md-nav__link">
3.x.x ➡️ 4.x.x
</a>
</li>
@@ -771,7 +771,7 @@
<li class="md-nav__item">
<a href="../../migration/4x_to_5x/" class="md-nav__link">
<a href="../migration/4x_to_5x.html" class="md-nav__link">
4.x.x ➡️ 5.x.x
</a>
</li>
@@ -889,7 +889,8 @@
<nav class="md-footer__inner md-grid" aria-label="Footer">
<a href="../dependency-callables/" class="md-footer__link md-footer__link--prev" rel="prev">
<a href="dependency-callables.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Dependency callables" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</div>
@@ -904,7 +905,8 @@
</a>
<a href="../../migration/08_to_1x/" class="md-footer__link md-footer__link--next" rel="next">
<a href="../migration/08_to_1x.html" class="md-footer__link md-footer__link--next" aria-label="Next: 0.8.x ➡️ 1.x.x" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
@@ -939,10 +941,10 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../assets/javascripts/workers/search.d351de03.min.js", "version": null}</script>
<script id="__config" type="application/json">{"base": "..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../assets/javascripts/workers/search.b0710199.min.js", "version": null}</script>
<script src="../../assets/javascripts/bundle.a1609d9a.min.js"></script>
<script src="../assets/javascripts/bundle.76f349be.min.js"></script>
</body>

View File

@@ -11,8 +11,8 @@
<link rel="icon" href="../../favicon.png">
<meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.1.5">
<link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2, mkdocs-material-7.1.7">
@@ -20,10 +20,10 @@
<link rel="stylesheet" href="../../assets/stylesheets/main.bde7dde4.min.css">
<link rel="stylesheet" href="../assets/stylesheets/main.ca7ac06f.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.ef6f36e2.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.f1a3b89f.min.css">
@@ -55,7 +55,7 @@
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red">
<script>function __prefix(e){return new URL("../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>function __prefix(e){return new URL("..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>var palette=__get("__palette");if(null!==palette&&"object"==typeof palette.color)for(var key in palette.color)document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
@@ -76,7 +76,7 @@
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="FastAPI Users" class="md-header__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<a href="../index.html" title="FastAPI Users" class="md-header__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.5 12A2.5 2.5 0 0 0 19 9.5 2.5 2.5 0 0 0 16.5 7 2.5 2.5 0 0 0 14 9.5a2.5 2.5 0 0 0 2.5 2.5M9 11a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z"/></svg>
@@ -106,7 +106,7 @@
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red" type="radio" name="__palette" id="__palette_1">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 0-7 7c0 2.38 1.19 4.47 3 5.74V17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2.26c1.81-1.27 3-3.36 3-5.74a7 7 0 0 0-7-7M9 21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1H9v1z"/></svg>
@@ -115,7 +115,7 @@
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="red" data-md-color-accent="red" type="radio" name="__palette" id="__palette_2">
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="red" data-md-color-accent="red" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7M9 21v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m3-17a5 5 0 0 0-5 5c0 2.05 1.23 3.81 3 4.58V16h4v-2.42c1.77-.77 3-2.53 3-4.58a5 5 0 0 0-5-5z"/></svg>
@@ -191,7 +191,7 @@
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="FastAPI Users" class="md-nav__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<a href="../index.html" title="FastAPI Users" class="md-nav__button md-logo" aria-label="FastAPI Users" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.5 12A2.5 2.5 0 0 0 19 9.5 2.5 2.5 0 0 0 16.5 7 2.5 2.5 0 0 0 14 9.5a2.5 2.5 0 0 0 2.5 2.5M9 11a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z"/></svg>
@@ -223,7 +223,7 @@
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<a href="../index.html" class="md-nav__link">
About
</a>
</li>
@@ -238,7 +238,7 @@
<li class="md-nav__item">
<a href="../../installation/" class="md-nav__link">
<a href="../installation.html" class="md-nav__link">
Installation
</a>
</li>
@@ -274,7 +274,7 @@
<li class="md-nav__item">
<a href="../../configuration/model/" class="md-nav__link">
<a href="../configuration/model.html" class="md-nav__link">
User model
</a>
</li>
@@ -307,7 +307,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/sqlalchemy/" class="md-nav__link">
<a href="../configuration/databases/sqlalchemy.html" class="md-nav__link">
SQLAlchemy
</a>
</li>
@@ -319,7 +319,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/mongodb/" class="md-nav__link">
<a href="../configuration/databases/mongodb.html" class="md-nav__link">
MongoDB
</a>
</li>
@@ -331,7 +331,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/tortoise/" class="md-nav__link">
<a href="../configuration/databases/tortoise.html" class="md-nav__link">
Tortoise ORM
</a>
</li>
@@ -343,7 +343,7 @@
<li class="md-nav__item">
<a href="../../configuration/databases/ormar/" class="md-nav__link">
<a href="../configuration/databases/ormar.html" class="md-nav__link">
Ormar
</a>
</li>
@@ -382,7 +382,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/" class="md-nav__link">
<a href="../configuration/authentication/index.html" class="md-nav__link">
Introduction
</a>
</li>
@@ -394,7 +394,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/jwt/" class="md-nav__link">
<a href="../configuration/authentication/jwt.html" class="md-nav__link">
JWT
</a>
</li>
@@ -406,7 +406,7 @@
<li class="md-nav__item">
<a href="../../configuration/authentication/cookie/" class="md-nav__link">
<a href="../configuration/authentication/cookie.html" class="md-nav__link">
Cookie
</a>
</li>
@@ -445,7 +445,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/" class="md-nav__link">
<a href="../configuration/routers/index.html" class="md-nav__link">
Introduction
</a>
</li>
@@ -457,7 +457,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/auth/" class="md-nav__link">
<a href="../configuration/routers/auth.html" class="md-nav__link">
Auth router
</a>
</li>
@@ -469,7 +469,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/register/" class="md-nav__link">
<a href="../configuration/routers/register.html" class="md-nav__link">
Register routes
</a>
</li>
@@ -481,7 +481,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/reset/" class="md-nav__link">
<a href="../configuration/routers/reset.html" class="md-nav__link">
Reset password router
</a>
</li>
@@ -493,7 +493,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/users/" class="md-nav__link">
<a href="../configuration/routers/users.html" class="md-nav__link">
Users router
</a>
</li>
@@ -505,7 +505,7 @@
<li class="md-nav__item">
<a href="../../configuration/routers/verify/" class="md-nav__link">
<a href="../configuration/routers/verify.html" class="md-nav__link">
Verify router
</a>
</li>
@@ -523,7 +523,7 @@
<li class="md-nav__item">
<a href="../../configuration/password-validation/" class="md-nav__link">
<a href="../configuration/password-validation.html" class="md-nav__link">
Password validation
</a>
</li>
@@ -535,7 +535,7 @@
<li class="md-nav__item">
<a href="../../configuration/full-example/" class="md-nav__link">
<a href="../configuration/full-example.html" class="md-nav__link">
Full example
</a>
</li>
@@ -547,7 +547,7 @@
<li class="md-nav__item">
<a href="../../configuration/oauth/" class="md-nav__link">
<a href="../configuration/oauth.html" class="md-nav__link">
OAuth2
</a>
</li>
@@ -591,7 +591,7 @@
<li class="md-nav__item">
<a href="../flow/" class="md-nav__link">
<a href="flow.html" class="md-nav__link">
Flow
</a>
</li>
@@ -617,7 +617,7 @@
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<a href="routes.html" class="md-nav__link md-nav__link--active">
Routes
</a>
@@ -824,7 +824,7 @@
<li class="md-nav__item">
<a href="../dependency-callables/" class="md-nav__link">
<a href="dependency-callables.html" class="md-nav__link">
Dependency callables
</a>
</li>
@@ -836,7 +836,7 @@
<li class="md-nav__item">
<a href="../helpers/" class="md-nav__link">
<a href="helpers.html" class="md-nav__link">
Helpers
</a>
</li>
@@ -878,7 +878,7 @@
<li class="md-nav__item">
<a href="../../migration/08_to_1x/" class="md-nav__link">
<a href="../migration/08_to_1x.html" class="md-nav__link">
0.8.x ➡️ 1.x.x
</a>
</li>
@@ -890,7 +890,7 @@
<li class="md-nav__item">
<a href="../../migration/1x_to_2x/" class="md-nav__link">
<a href="../migration/1x_to_2x.html" class="md-nav__link">
1.x.x ➡️ 2.x.x
</a>
</li>
@@ -902,7 +902,7 @@
<li class="md-nav__item">
<a href="../../migration/2x_to_3x/" class="md-nav__link">
<a href="../migration/2x_to_3x.html" class="md-nav__link">
2.x.x ➡️ 3.x.x
</a>
</li>
@@ -914,7 +914,7 @@
<li class="md-nav__item">
<a href="../../migration/3x_to_4x/" class="md-nav__link">
<a href="../migration/3x_to_4x.html" class="md-nav__link">
3.x.x ➡️ 4.x.x
</a>
</li>
@@ -926,7 +926,7 @@
<li class="md-nav__item">
<a href="../../migration/4x_to_5x/" class="md-nav__link">
<a href="../migration/4x_to_5x.html" class="md-nav__link">
4.x.x ➡️ 5.x.x
</a>
</li>
@@ -1156,9 +1156,9 @@
<h1 id="routes">Routes<a class="headerlink" href="#routes" title="Permanent link">&para;</a></h1>
<p>You'll find here the routes exposed by <strong>FastAPI Users</strong>. Note that you can also review them through the <a href="https://fastapi.tiangolo.com/tutorial/first-steps/#interactive-api-docs">interactive API docs</a>.</p>
<h2 id="auth-router">Auth router<a class="headerlink" href="#auth-router" title="Permanent link">&para;</a></h2>
<p>Each <a href="../../configuration/authentication/">authentication backend</a> you <a href="../../configuration/routers/auth/">generate a router for</a> will produce the following routes. Take care about the prefix you gave it, especially if you have several backends.</p>
<p>Each <a href="../configuration/authentication/index.html">authentication backend</a> you <a href="../configuration/routers/auth.html">generate a router for</a> will produce the following routes. Take care about the prefix you gave it, especially if you have several backends.</p>
<h3 id="post-login"><code>POST /login</code><a class="headerlink" href="#post-login" title="Permanent link">&para;</a></h3>
<p>Login a user against the method named <code>name</code>. Check the corresponding <a href="../../configuration/authentication/">authentication method</a> to view the success response.</p>
<p>Login a user against the method named <code>name</code>. Check the corresponding <a href="../configuration/authentication/index.html">authentication method</a> to view the success response.</p>
<div class="admonition abstract">
<p class="admonition-title">Payload (<code>application/x-www-form-urlencoded</code>)</p>
<div class="highlight"><pre><span></span><code>username=king.arthur@camelot.bt&amp;password=guinevere
@@ -1184,7 +1184,7 @@
</code></pre></div>
</div>
<h3 id="post-logout"><code>POST /logout</code><a class="headerlink" href="#post-logout" title="Permanent link">&para;</a></h3>
<p>Logout the authenticated user against the method named <code>name</code>. Check the corresponding <a href="../../configuration/authentication/">authentication method</a> to view the success response.</p>
<p>Logout the authenticated user against the method named <code>name</code>. Check the corresponding <a href="../configuration/authentication/index.html">authentication method</a> to view the success response.</p>
<div class="admonition fail">
<p class="admonition-title"><code>401 Unauthorized</code></p>
<p>Missing token or inactive user.</p>
@@ -1199,7 +1199,7 @@
</div>
<h2 id="register-router">Register router<a class="headerlink" href="#register-router" title="Permanent link">&para;</a></h2>
<h3 id="post-register"><code>POST /register</code><a class="headerlink" href="#post-register" title="Permanent link">&para;</a></h3>
<p>Register a new user. Will call the <code>after_register</code> <a href="../../configuration/routers/register/#after-register">handler</a> on successful registration.</p>
<p>Register a new user. Will call the <code>after_register</code> <a href="../configuration/routers/register.html#after-register">handler</a> on successful registration.</p>
<div class="admonition abstract">
<p class="admonition-title">Payload</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
@@ -1231,7 +1231,7 @@
</div>
<div class="admonition fail">
<p class="admonition-title"><code>400 Bad Request</code></p>
<p><a href="../../configuration/password-validation/">Password validation</a> failed.</p>
<p><a href="../configuration/password-validation.html">Password validation</a> failed.</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="nt">&quot;detail&quot;</span><span class="p">:</span> <span class="p">{</span>
<span class="nt">&quot;code&quot;</span><span class="p">:</span> <span class="s2">&quot;RESET_PASSWORD_INVALID_PASSWORD&quot;</span><span class="p">,</span>
@@ -1242,7 +1242,7 @@
</div>
<h2 id="reset-password-router">Reset password router<a class="headerlink" href="#reset-password-router" title="Permanent link">&para;</a></h2>
<h3 id="post-forgot-password"><code>POST /forgot-password</code><a class="headerlink" href="#post-forgot-password" title="Permanent link">&para;</a></h3>
<p>Request a reset password procedure. Will generate a temporary token and call the <code>after_forgot_password</code> <a href="../../configuration/routers/reset/#after-forgot-password">handler</a> if the user exists.</p>
<p>Request a reset password procedure. Will generate a temporary token and call the <code>after_forgot_password</code> <a href="../configuration/routers/reset.html#after-forgot-password">handler</a> if the user exists.</p>
<p>To prevent malicious users from guessing existing users in your database, the route will always return a <code>202 Accepted</code> response, even if the user requested does not exist.</p>
<div class="admonition abstract">
<p class="admonition-title">Payload</p>
@@ -1280,7 +1280,7 @@
</div>
<div class="admonition fail">
<p class="admonition-title"><code>400 Bad Request</code></p>
<p><a href="../../configuration/password-validation/">Password validation</a> failed.</p>
<p><a href="../configuration/password-validation.html">Password validation</a> failed.</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="nt">&quot;detail&quot;</span><span class="p">:</span> <span class="p">{</span>
<span class="nt">&quot;code&quot;</span><span class="p">:</span> <span class="s2">&quot;REGISTER_INVALID_PASSWORD&quot;</span><span class="p">,</span>
@@ -1291,7 +1291,7 @@
</div>
<h2 id="verify-router">Verify router<a class="headerlink" href="#verify-router" title="Permanent link">&para;</a></h2>
<h3 id="post-request-verify-token"><code>POST /request-verify-token</code><a class="headerlink" href="#post-request-verify-token" title="Permanent link">&para;</a></h3>
<p>Request a user to verify their e-mail. Will generate a temporary token and call the <code>after_verification_request</code> <a href="../../configuration/routers/verify/#after-verification-request">handler</a> if the user <strong>exists</strong>, <strong>active</strong> and <strong>not already verified</strong>.</p>
<p>Request a user to verify their e-mail. Will generate a temporary token and call the <code>after_verification_request</code> <a href="../configuration/routers/verify.html#after-verification-request">handler</a> if the user <strong>exists</strong>, <strong>active</strong> and <strong>not already verified</strong>.</p>
<p>To prevent malicious users from guessing existing users in your database, the route will always return a <code>202 Accepted</code> response, even if the user requested does not exist, not active or already verified.</p>
<div class="admonition abstract">
<p class="admonition-title">Payload</p>
@@ -1304,7 +1304,7 @@
<p class="admonition-title"><code>202 Accepted</code></p>
</div>
<h3 id="post-verify"><code>POST /verify</code><a class="headerlink" href="#post-verify" title="Permanent link">&para;</a></h3>
<p>Verify a user. Requires the token generated by the <code>/request-verify-token</code> route. Will call the call the <code>after_verification</code> <a href="../../configuration/routers/verify/#after-verification">handler</a> on success.</p>
<p>Verify a user. Requires the token generated by the <code>/request-verify-token</code> route. Will call the call the <code>after_verification</code> <a href="../configuration/routers/verify.html#after-verification">handler</a> on success.</p>
<div class="admonition abstract">
<p class="admonition-title">Payload</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
@@ -1349,7 +1349,7 @@
<div class="admonition abstract">
<p class="admonition-title">Query parameters</p>
<ul>
<li><code>authentication_backend</code>: <code>name</code> property of a defined <a href="../../configuration/authentication/">authentication method</a> to use to authenticate the user on successful callback. Usually <code>jwt</code> or <code>cookie</code>.</li>
<li><code>authentication_backend</code>: <code>name</code> property of a defined <a href="../configuration/authentication/index.html">authentication method</a> to use to authenticate the user on successful callback. Usually <code>jwt</code> or <code>cookie</code>.</li>
<li><code>scopes</code>: Optional list of scopes to ask for. Expected format: <code>scopes=a&amp;scopes=b</code>.</li>
</ul>
</div>
@@ -1381,17 +1381,17 @@
<ul>
<li>The OAuth account exists in database and is linked to a user:<ul>
<li>OAuth account is updated in database with fresh access token.</li>
<li>The user is authenticated following the chosen <a href="../../configuration/authentication/">authentication method</a>.</li>
<li>The user is authenticated following the chosen <a href="../configuration/authentication/index.html">authentication method</a>.</li>
</ul>
</li>
<li>The OAuth account doesn't exist in database but a user with the same email address exists:<ul>
<li>OAuth account is linked to the user.</li>
<li>The user is authenticated following the chosen <a href="../../configuration/authentication/">authentication method</a>.</li>
<li>The user is authenticated following the chosen <a href="../configuration/authentication/index.html">authentication method</a>.</li>
</ul>
</li>
<li>The OAuth account doesn't exist in database and no user with the email address exists:<ul>
<li>A new user is created and linked to the OAuth account.</li>
<li>The user is authenticated following the chosen <a href="../../configuration/authentication/">authentication method</a>.</li>
<li>The user is authenticated following the chosen <a href="../configuration/authentication/index.html">authentication method</a>.</li>
</ul>
</li>
</ul>
@@ -1438,7 +1438,7 @@
</div>
<div class="admonition fail">
<p class="admonition-title"><code>400 Bad Request</code></p>
<p><a href="../../configuration/password-validation/">Password validation</a> failed.</p>
<p><a href="../configuration/password-validation.html">Password validation</a> failed.</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="nt">&quot;detail&quot;</span><span class="p">:</span> <span class="p">{</span>
<span class="nt">&quot;code&quot;</span><span class="p">:</span> <span class="s2">&quot;UPDATE_USER_INVALID_PASSWORD&quot;</span><span class="p">,</span>
@@ -1507,7 +1507,7 @@
</div>
<div class="admonition fail">
<p class="admonition-title"><code>400 Bad Request</code></p>
<p><a href="../../configuration/password-validation/">Password validation</a> failed.</p>
<p><a href="../configuration/password-validation.html">Password validation</a> failed.</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="nt">&quot;detail&quot;</span><span class="p">:</span> <span class="p">{</span>
<span class="nt">&quot;code&quot;</span><span class="p">:</span> <span class="s2">&quot;UPDATE_USER_INVALID_PASSWORD&quot;</span><span class="p">,</span>
@@ -1551,7 +1551,8 @@
<nav class="md-footer__inner md-grid" aria-label="Footer">
<a href="../flow/" class="md-footer__link md-footer__link--prev" rel="prev">
<a href="flow.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Flow" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</div>
@@ -1566,7 +1567,8 @@
</a>
<a href="../dependency-callables/" class="md-footer__link md-footer__link--next" rel="next">
<a href="dependency-callables.html" class="md-footer__link md-footer__link--next" aria-label="Next: Dependency callables" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
@@ -1601,10 +1603,10 @@
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../assets/javascripts/workers/search.d351de03.min.js", "version": null}</script>
<script id="__config" type="application/json">{"base": "..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../assets/javascripts/workers/search.b0710199.min.js", "version": null}</script>
<script src="../../assets/javascripts/bundle.a1609d9a.min.js"></script>
<script src="../assets/javascripts/bundle.76f349be.min.js"></script>
</body>