File tree Expand file tree Collapse file tree 2 files changed +21
-17
lines changed
fractal_server/app/routes/auth Expand file tree Collapse file tree 2 files changed +21
-17
lines changed Original file line number Diff line number Diff line change @@ -49,31 +49,36 @@ def get_jwt_cookie_strategy() -> JWTStrategy:
4949 get_user_manager ,
5050 [token_backend , cookie_backend ],
5151)
52+
53+ # Current-user dependencies
5254current_user_act = fastapi_users .current_user (active = True )
5355current_user_act_ver = fastapi_users .current_user (
5456 active = True ,
5557 verified = True ,
5658)
57- current_superuser_act = fastapi_users .current_user (
58- active = True ,
59- superuser = True ,
60- )
61-
62- current_user = fastapi_users .current_user ()
6359
6460
6561async def current_user_act_ver_prof (
66- user : UserOAuth = Depends (current_user ),
62+ user : UserOAuth = Depends (current_user_act_ver ),
6763) -> UserOAuth :
68- if any (
69- (
70- not user . is_active ,
71- not user . is_verified ,
72- user . profile_id is None ,
73- )
74- ) :
64+ """
65+ Require a active&verified user, with a non-null `profile_id`.
66+
67+ Raises 401 if user does not exist or is not active.
68+ Raises 403 if user is not verified or has null `profile_id`.
69+ """
70+ if user . profile_id is None :
7571 raise HTTPException (
7672 status_code = status .HTTP_403_FORBIDDEN ,
77- detail = "Forbidden access." ,
73+ detail = (
74+ f"Forbidden access "
75+ f"({ user .is_verified = } { user .profile_id = } )."
76+ ),
7877 )
7978 return user
79+
80+
81+ current_superuser_act = fastapi_users .current_user (
82+ active = True ,
83+ superuser = True ,
84+ )
Original file line number Diff line number Diff line change 1616from fractal_server .app .models import UserGroup
1717from fractal_server .app .models import UserOAuth
1818from fractal_server .app .routes .auth import current_user_act
19- from fractal_server .app .routes .auth import current_user_act_ver_prof
2019from fractal_server .app .routes .auth ._aux_auth import (
2120 _get_single_user_with_groups ,
2221)
@@ -52,7 +51,7 @@ async def get_current_user(
5251@router_current_user .patch ("/current-user/" , response_model = UserRead )
5352async def patch_current_user (
5453 user_update : UserUpdateStrict ,
55- current_user : UserOAuth = Depends (current_user_act_ver_prof ),
54+ current_user : UserOAuth = Depends (current_user_act ),
5655 user_manager : UserManager = Depends (get_user_manager ),
5756 db : AsyncSession = Depends (get_async_db ),
5857):
You can’t perform that action at this time.
0 commit comments