1111 GoogleCallbackRequest ,
1212 GoogleLoginRequest ,
1313 NewPassword ,
14- Token ,
14+ PasswordRecoveryRequest ,
1515 TokenResponse ,
1616)
1717from app .modules .auth .service import AuthService
2323)
2424from app .modules .users .schemas import UserPublic
2525
26- router = APIRouter (tags = ["login " ])
26+ router = APIRouter (tags = ["auth " ])
2727
2828
2929def generate_csrf_token () -> str :
3030 """Generate a cryptographically secure CSRF token."""
3131 return secrets .token_urlsafe (32 )
3232
3333
34- @router .post ("/login/access-token " )
35- def login_access_token (
34+ @router .post ("/auth/login " )
35+ def auth_login (
3636 response : Response ,
3737 session : SessionDep ,
3838 form_data : Annotated [OAuth2PasswordRequestForm , Depends ()],
@@ -67,7 +67,7 @@ def login_access_token(
6767
6868
6969@router .post ("/auth/refresh" )
70- def refresh_token (
70+ def auth_refresh (
7171 response : Response ,
7272 session : SessionDep ,
7373 refresh_token : Annotated [str | None , Cookie ()] = None ,
@@ -104,7 +104,7 @@ def refresh_token(
104104
105105
106106@router .post ("/auth/logout" )
107- def logout (response : Response ) -> Message :
107+ def auth_logout (response : Response ) -> Message :
108108 """
109109 Logout user by clearing authentication cookies.
110110 """
@@ -117,45 +117,45 @@ def logout(response: Response) -> Message:
117117 return Message (message = "Successfully logged out" )
118118
119119
120- @router .post ("/login/test-token " , response_model = UserPublic )
121- def test_token (current_user : CurrentUser ) -> Any :
122- """Test access token."""
120+ @router .post ("/auth/verify " , response_model = UserPublic )
121+ def auth_verify (current_user : CurrentUser ) -> Any :
122+ """Verify access token and return current user ."""
123123 return current_user
124124
125125
126- @router .post ("/password-recovery/{email} " )
127- def recover_password ( email : str , session : SessionDep ) -> Message :
128- """Password recovery."""
126+ @router .post ("/auth/ password/recover " )
127+ def auth_password_recover ( session : SessionDep , body : PasswordRecoveryRequest ) -> Message :
128+ """Request password recovery email ."""
129129 service = AuthService (session )
130- service .recover_password (email = email )
130+ service .recover_password (email = body . email )
131131 return Message (message = "Password recovery email sent" )
132132
133133
134- @router .post ("/reset- password/" )
135- def reset_password (session : SessionDep , body : NewPassword ) -> Message :
136- """Reset password."""
134+ @router .post ("/auth/ password/reset " )
135+ def auth_password_reset (session : SessionDep , body : NewPassword ) -> Message :
136+ """Reset password with token ."""
137137 service = AuthService (session )
138138 service .reset_password (token = body .token , new_password = body .new_password )
139139 return Message (message = "Password updated successfully" )
140140
141141
142142@router .post (
143- "/password-recovery- html-content/{email} " ,
143+ "/auth/ password/recover- html" ,
144144 dependencies = [Depends (get_current_active_superuser )],
145145 response_class = HTMLResponse ,
146146)
147- def recover_password_html_content ( email : str , session : SessionDep ) -> Any :
148- """HTML content for password recovery."""
147+ def auth_password_recover_html ( session : SessionDep , body : PasswordRecoveryRequest ) -> Any :
148+ """HTML content for password recovery (admin only) ."""
149149 service = AuthService (session )
150- html_content , subject = service .get_password_recovery_html (email = email )
150+ html_content , subject = service .get_password_recovery_html (email = body . email )
151151 return HTMLResponse (content = html_content , headers = {"subject:" : subject })
152152
153153
154- @router .post ("/login /google" )
155- def login_google (
154+ @router .post ("/auth /google/login " )
155+ def auth_google_login (
156156 response : Response , session : SessionDep , body : GoogleLoginRequest
157157) -> TokenResponse :
158- """Google OAuth login with HttpOnly cookie tokens."""
158+ """Google OAuth login with ID token. Sets HttpOnly cookie tokens."""
159159 try :
160160 service = AuthService (session )
161161 user , access_token , refresh_token = service .login_google (id_token = body .id_token )
@@ -185,8 +185,8 @@ def login_google(
185185 )
186186
187187
188- @router .get ("/login /google/authorize" )
189- def google_authorize () -> RedirectResponse :
188+ @router .get ("/auth /google/authorize" )
189+ def auth_google_authorize () -> RedirectResponse :
190190 """Initiate Google OAuth flow by redirecting to Google's authorization page."""
191191 if not settings .GOOGLE_CLIENT_ID :
192192 raise HTTPException (
@@ -207,11 +207,11 @@ def google_authorize() -> RedirectResponse:
207207 return RedirectResponse (url = auth_url )
208208
209209
210- @router .post ("/login /google/callback" )
211- def google_callback (
210+ @router .post ("/auth /google/callback" )
211+ def auth_google_callback (
212212 response : Response , session : SessionDep , body : GoogleCallbackRequest
213213) -> TokenResponse :
214- """Handle Google OAuth callback with HttpOnly cookie tokens."""
214+ """Handle Google OAuth callback with authorization code. Sets HttpOnly cookie tokens."""
215215 try :
216216 service = AuthService (session )
217217 user , access_token , refresh_token = service .google_callback (code = body .code )
0 commit comments