33from fastapi import APIRouter , Depends , Request
44from fastapi .security import OAuth2PasswordRequestForm
55from fastapi_limiter .depends import RateLimiter
6+ from starlette .background import BackgroundTasks
67
78from backend .app .common .jwt import DependsUser , get_token , jwt_decode , CurrentJwtAuth
89from backend .app .common .response .response_schema import response_base
1516
1617@router .post ('/swagger_login' , summary = 'swagger 表单登录' , description = 'form 格式登录,仅用于 swagger 文档调试接口' )
1718async def swagger_user_login (form_data : OAuth2PasswordRequestForm = Depends ()) -> SwaggerToken :
18- token , user = await UserService .swagger_login (form_data )
19+ token , user = await UserService () .swagger_login (form_data )
1920 return SwaggerToken (access_token = token , user = user )
2021
2122
@@ -25,8 +26,10 @@ async def swagger_user_login(form_data: OAuth2PasswordRequestForm = Depends()) -
2526 description = 'json 格式登录, 仅支持在第三方api工具调试接口, 例如: postman' ,
2627 dependencies = [Depends (RateLimiter (times = 5 , minutes = 15 ))],
2728)
28- async def user_login (obj : Auth ):
29- access_token , refresh_token , access_expire , refresh_expire , user = await UserService .login (obj )
29+ async def user_login (request : Request , obj : Auth , background_tasks : BackgroundTasks ):
30+ access_token , refresh_token , access_expire , refresh_expire , user = await UserService ().login (
31+ request = request , obj = obj , background_tasks = background_tasks
32+ )
3033 data = LoginToken (
3134 access_token = access_token ,
3235 refresh_token = refresh_token ,
@@ -41,7 +44,7 @@ async def user_login(obj: Auth):
4144async def get_refresh_token (request : Request , custom_time : RefreshTokenTime ):
4245 token = get_token (request )
4346 user_id , _ = jwt_decode (token )
44- refresh_token , refresh_expire = await UserService .refresh_token (user_id , custom_time )
47+ refresh_token , refresh_expire = await UserService .refresh_token (user_id = user_id , custom_time = custom_time )
4548 data = RefreshToken (refresh_token = refresh_token , refresh_token_expire_time = refresh_expire )
4649 return response_base .success (data = data )
4750
0 commit comments