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
This commit is contained in:
François Voron
2021-12-30 15:22:07 +01:00
committed by GitHub
parent 72ab480aba
commit c4de66b81c
125 changed files with 3144 additions and 1344 deletions

View File

@ -45,10 +45,6 @@ Logout the authenticated user against the method named `name`. Check the corresp
!!! success "`200 OK`"
The logout process was successful.
!!! tip
Some backend (like JWT) won't produce this route.
## Register router
### `POST /register`
@ -209,7 +205,6 @@ Each OAuth router you define will expose the two following routes.
Return the authorization URL for the OAuth service where you should redirect your user.
!!! abstract "Query parameters"
* `authentication_backend`: `name` property of a defined [authentication method](../configuration/authentication/index.md) to use to authenticate the user on successful callback. Usually `jwt` or `cookie`.
* `scopes`: Optional list of scopes to ask for. Expected format: `scopes=a&scopes=b`.
!!! success "`200 OK`"