Files
fastapi-users/docs/configuration/full-example.md
François Voron c4de66b81c Revamp authentication (#831)
* Implement Transport classes

* Implement authentication strategy classes

* Revamp authentication with Transport and Strategy

* Revamp strategy and OAuth so that they can use a callable dependency

* Update docstring

* Make ErrorCode a proper Enum and cleanup unused OpenAPI utils

* Remove useless check

* Tweak typing in authenticator

* Update docs

* Improve logout/destroy token logic

* Update docs

* Update docs

* Update docs and full examples

* Apply formatting to examples

* Update OAuth doc and examples

* Add migration doc

* Implement Redis session token

* Add Redis Session documentation

* RedisSession -> Redis

* Fix links in docs
2021-12-30 15:22:07 +01:00

132 lines
2.6 KiB
Markdown

# Full example
Here is a full working example with JWT authentication to help get you started.
!!! warning
Notice that **SECRET** should be changed to a strong passphrase.
Insecure passwords may give attackers full access to your database.
## SQLAlchemy
[Open :octicons-link-external-16:](https://github.com/fastapi-users/fastapi-users/tree/master/examples/sqlalchemy)
=== ":octicons-file-code-16: requirements.txt"
```
--8<-- "examples/sqlalchemy/requirements.txt"
```
=== ":octicons-file-code-16: main.py"
```py
--8<-- "examples/sqlalchemy/main.py"
```
=== ":octicons-file-code-16: app/app.py"
```py
--8<-- "examples/sqlalchemy/app/app.py"
```
=== ":octicons-file-code-16: app/db.py"
```py
--8<-- "examples/sqlalchemy/app/db.py"
```
=== ":octicons-file-code-16: app/models.py"
```py
--8<-- "examples/sqlalchemy/app/models.py"
```
=== ":octicons-file-code-16: app/users.py"
```py
--8<-- "examples/sqlalchemy/app/users.py"
```
## MongoDB
[Open :octicons-link-external-16:](https://github.com/fastapi-users/fastapi-users/tree/master/examples/mongodb)
=== ":octicons-file-code-16: requirements.txt"
```
--8<-- "examples/mongodb/requirements.txt"
```
=== ":octicons-file-code-16: main.py"
```py
--8<-- "examples/mongodb/main.py"
```
=== ":octicons-file-code-16: app/app.py"
```py
--8<-- "examples/mongodb/app/app.py"
```
=== ":octicons-file-code-16: app/db.py"
```py
--8<-- "examples/mongodb/app/db.py"
```
=== ":octicons-file-code-16: app/models.py"
```py
--8<-- "examples/mongodb/app/models.py"
```
=== ":octicons-file-code-16: app/users.py"
```py
--8<-- "examples/mongodb/app/users.py"
```
## Tortoise ORM
[Open :octicons-link-external-16:](https://github.com/fastapi-users/fastapi-users/tree/master/examples/tortoise)
=== ":octicons-file-code-16: requirements.txt"
```
--8<-- "examples/tortoise/requirements.txt"
```
=== ":octicons-file-code-16: main.py"
```py
--8<-- "examples/tortoise/main.py"
```
=== ":octicons-file-code-16: app/app.py"
```py
--8<-- "examples/tortoise/app/app.py"
```
=== ":octicons-file-code-16: app/db.py"
```py
--8<-- "examples/tortoise/app/db.py"
```
=== ":octicons-file-code-16: app/models.py"
```py
--8<-- "examples/tortoise/app/models.py"
```
=== ":octicons-file-code-16: app/users.py"
```py
--8<-- "examples/tortoise/app/users.py"
```
## What now?
You're ready to go! Be sure to check the [Usage](../usage/routes.md) section to understand how to work with **FastAPI Users**.