📝 Add builtin section; add ohmyapi_auth docs
This commit is contained in:
parent
e53c206b4e
commit
f0e5c8c30e
4 changed files with 61 additions and 6 deletions
45
docs/auth.md
Normal file
45
docs/auth.md
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# Authentication
|
||||
|
||||
OhMyAPI comes bundled with a builtin authentication app.
|
||||
Simply add `ohmyapi_auth` to your `INSTALLED_APPS` and configure a `JWT_SECRET`.
|
||||
|
||||
## Enable Auth App
|
||||
|
||||
`settings.py`:
|
||||
|
||||
```
|
||||
INSTALLED_APPS = [
|
||||
"ohmyapi_auth",
|
||||
...
|
||||
]
|
||||
|
||||
JWT_SECRET = "t0ps3cr3t"
|
||||
```
|
||||
|
||||
Remember to `makemigrations` and `migrate` to create the necessary database tables.
|
||||
|
||||
```
|
||||
ohmyapi makemigrations
|
||||
ohmyapi migrate
|
||||
```
|
||||
|
||||
## Permissions
|
||||
|
||||
With the `ohmyapi_auth` app comes everything you need to implement API-level permissions.
|
||||
Use FastAPI's `Depends` pattern in combination with either the provided or custom permissions.
|
||||
|
||||
```python
|
||||
from ohmyapi.router import APIRouter, Depends
|
||||
|
||||
from ohmyapi_auth import (
|
||||
models as auth,
|
||||
permissions,
|
||||
)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/")
|
||||
def get(user: auth.User = Depends(permissions.required_authenticated)):
|
||||
...
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue