97 Commits

Author SHA1 Message Date
c759bb6915 Extending generated OpenAPI docs (#799)
* Added login endpoint docs

* make format

* Changed login route into multiple examples.

* Added reset password router docs

* Updated /{id} routes for user

* Updated /me routes

* Fixed user already exists response description

* Updated the /register route

* Updated verify routes

* Updated oauth2 endpoints.

* Applied `make format`

* Renamed Authentication methods for getting their openapi schemas

- `get_login_responses_success` -> `get_openapi_login_responses_success`
- `get_logout_responses_success` -> `get_openapi_logout_responses_success`

* Fixed flake8 errors

* Not using `Final` to keep python37 compatibility

Co-authored-by: François Voron <fvoron@gmail.com>
2021-11-23 13:13:51 +01:00
48d1be87a4 Added codestyle check and lint to the build action (#798)
* Applied `make format`

* Added format-check to makefile

* Added a "Check codestyle" step to the build action.

* Rerun `make format`

* Added a "lint" target to makefile

* Added lint step to the build action

* Added W503 to the list of ignored flake8 errors.

See https://www.flake8rules.com/rules/W503.html
2021-11-23 08:13:11 +01:00
f578a01a8b Updated OAuth2 router generator for better OpenAPI docs (#793)
* Added OAuth2 authorize route response_model

* Changed OAuth2 "authorize" route backend param type.

On OAuth2 router creation, an enum is created for the `authentication_backend` parameter. This allows us to generate OpenAPI docs correctly.

* Reformatted with "make format"

* Updated OAuth2 authorize url docs

- /authorize now returns 422 instead of 400 for an invalid authentication backend
2021-11-10 07:55:40 +01:00
b80061bbc4 Fix #788: add cookbook to create user programmatically 2021-11-07 11:32:22 +01:00
6ed1a5ccdb Change examples so every dependencies are async 2021-11-07 11:21:24 +01:00
c1a0dd5476 Fix broken links in documentation 2021-11-07 10:47:40 +01:00
843b197875 Reflect correct UserManager handlers in docs (#768) 2021-10-16 09:25:53 +02:00
d0c295e411 Fixed user manager function docs. 2021-09-23 13:00:20 +03:00
06a1832ac1 Add direct links to open Repl.it full examples 2021-09-21 08:33:29 +02:00
e819bb0b65 Add get_enabled_backends advanced feature 2021-09-21 08:20:07 +02:00
ab89cdea2f Merge pull request #729 from fastapi-users/db-as-dependency
Massive reorganization: move most of the logic into a UserManager dependency
2021-09-20 08:42:25 +02:00
fd5a0d2725 Write v8 migration doc 2021-09-18 10:36:39 +02:00
c198da58bc Complete OAuth2 documentation 2021-09-18 10:18:44 +02:00
fc59cf11ef Rework the documentation 2021-09-17 15:14:36 +02:00
e86a2cfa0c Fix typo in ormar documentation (#727) 2021-09-15 14:51:03 +02:00
2900bf4df7 Add notice about UserUpdate model when upgrading to v7 2021-09-09 16:11:07 +02:00
b7ddf97127 Fix link in documentation 2021-09-09 13:36:52 +02:00
79225e6642 Add 6 -> 7 migration doc 2021-09-09 13:28:14 +02:00
38b72ac197 Improve docs regarding getting current user 2021-09-09 12:15:46 +02:00
7ae2042500 Fix #701: factorize JWT handling and support secrets as SecretStr 2021-09-09 11:51:55 +02:00
e59fb2c9b9 Return 403 instead of 401 when a user is known (#705)
* return 403 instead of 401 if user is known

* return 403 for unverified users

* updated docs
2021-09-04 18:11:48 +02:00
83873338f3 Refactor models 2021-08-29 17:00:45 +02:00
d2d25da9d1 Fix OAuth2 documentation (#692) 2021-08-13 08:46:47 +02:00
8b131233d6 Fix typo (#684) 2021-08-12 14:17:28 +02:00
a8f0a31655 Update password-validation.md (#680) 2021-08-12 14:14:27 +02:00
22384f6405 Fix typo in documtation (#640)
* Fix typo in auth.md

* Fix typo in register.md
2021-06-08 16:28:33 +02:00
455f695f52 Fix #630: relative tokenUrl (#636)
* Fix #630: use relative tokenUrl as per the official recommendations

* Improve following review comments

* Fix unmatching backtick

* Improve consistency of authentication backend documentation
2021-05-20 08:52:03 +02:00
5267e605f4 Implement password validation mechanism (#632)
* Implement password validation mechanism

* Add invalid password reason

* Always pass user in password validator

* Add password validation documentation
2021-05-17 08:58:23 +02:00
89cff15c6b Updated docs to support pip install via zsh (#619)
* Updated docs to support pip install via zsh

* Changed docs to escape square brackets

Co-authored-by: Vlad Hoi <vlad.hoi@ronati.com>
2021-05-02 08:42:30 +02:00
3ac67377cb Fix #600: revamp Tortoise/Pydantic interaction (#612) 2021-04-20 14:46:36 +02:00
5d6be87369 Fix #610: add LOGIN_USER_NOT_VERIFIED to login route documentation 2021-04-20 13:57:00 +02:00
d184d7e90c Fix #609: make behavior more consistent on request verify token
Now, it always returns 202 even if the user is already verified
2021-04-20 13:54:50 +02:00
9967053ae0 Fix typos, grammar and spelling mistakes in docs (#584) 2021-04-02 12:47:57 +02:00
a81252c82a fix textual description to match the code (#533) 2021-03-02 08:14:06 +01:00
579313f887 Ormar backend support (#470)
* Add db adapter for ormar (wip)

* finish ormar support enough to pass tests

* remove idea folder

* update ormar version in tool.flit.metadata.requires-extra

* Add documentation about ormar

* Apply isort and black formatting

* Restore python 3.7 in Pipfile

* Update build.yml

* Add missing test for ormar update

* changes after review

Co-authored-by: Paolo Dina <paolo.dina@codingmoth.com>
Co-authored-by: collerek <collerek@gmail.com>
2021-02-07 09:34:40 +01:00
4776117f10 Write the docs for new current_user dependency 2021-02-06 13:55:41 +01:00
709f399883 Fix typo in auth.md (#462) 2021-01-27 14:49:11 +01:00
9c113e30a2 Prepare docs for v5 release 2021-01-12 11:24:52 +01:00
d4227ae20f Fix #335: implement after_reset_password handler 2021-01-12 11:18:34 +01:00
373157c284 Finalize user activation feature (#439)
* Add routes for user activation (#403)

* Add routes for user activation

Generate a token after creating the user in register route, passing to `activation_callback`, if `activation_callback` supplied
Create new `/activate` route that will verify the token and activate the user
Add new error codes to `fastapi_users/router/common.py`
Update documentation
Add tests

Co-authored-by: Mark Todd <markpeter.todd@hotmail.co.uk>

* Rework routes for user activation

* Separate verification logic and token generation into `/fastapi_users/router/verify.py`, with per-route callbacks for custom behaviour

* Return register router to original state

* Added `is_verified` property to user models

* Added `requires_verification` argument to `get_users_router`and `get_auth_router`

* Additional dependencies added for verification in `fastapi_users/authentication/__init__.py`

* Update tests for new behaviour

* Update `README.md` to describe a workaround for possible problems during testing, by exceeding ulimit file descriptor limit

Co-authored-by: Mark Todd <markpeter.todd@hotmail.co.uk>

* Restored docs to original state.

* All other modifications reqested added

Kebab-case on request-verify-token
SECRET now used as test string
Other minor changes

Co-authored-by: Mark Todd <markpeter.todd@hotmail.co.uk>

* Embed token in body in verify route

* Reorganize checks in verify route and add unit test

* Ignore coverage on Protocol classes

* Tweak verify_user function to take full user in parameter

* Improve unit tests structure regarding parametrized test client

* Make after_verification_request optional to be more consistent with other routers

* Tweak status codes on verify routes

* Write documentation for verification feature

* Add not released warning on verify docs

Co-authored-by: Edd Salkield <edd@salkield.uk>
Co-authored-by: Mark Todd <markpeter.todd@hotmail.co.uk>
2021-01-12 10:44:42 +01:00
966b1bd4c4 Add 4.x.x migration doc 2020-12-28 08:59:33 +01:00
7cf7154e27 Fix #431: make OAuth expires_at optional in model and DB schemas 2020-12-28 08:59:27 +01:00
47f2991ee8 Fix #399: fix logout example in doc 2020-12-07 08:00:25 +01:00
42340d992b Fix #396: add password validation example 2020-12-07 07:57:22 +01:00
435f29331a Fix #391: put user creation logic in a importable function 2020-11-22 09:57:03 +01:00
e69a124084 Update Tortoise docs and examples 2020-11-21 17:20:51 +01:00
8adce74cd9 added samesite option for cookie authentication (#337)
* added samesite option for cookie authentication

* formatted with black and added documentation (grabbed from starlette.io documentation)
2020-09-30 07:27:25 +02:00
0d8e0730fc Bump dependencies 2020-08-13 14:03:19 +02:00
49665ca36d The doubled parenthesis causing error on line 14 has been removed (#268)
The parenthesis causing error on line 14 has been removed.
2020-07-21 15:24:51 +02:00
bde0c96cd8 The doubled parenthesis causing error on line 14 has been removed (#269)
The parenthesis causing error on line 14 has been removed
2020-07-21 15:24:10 +02:00