patch
This commit is contained in:
		
							parent
							
								
									2c0e292ce0
								
							
						
					
					
						commit
						d3633a7b47
					
				@ -17,14 +17,11 @@ class CurrentUser:
 | 
			
		||||
    session_id: str
 | 
			
		||||
    permissions: List[str]
 | 
			
		||||
 | 
			
		||||
def _require_permissions_flag() -> bool:
 | 
			
		||||
    return False
 | 
			
		||||
 | 
			
		||||
async def get_current_user(
 | 
			
		||||
async def _fetch_current_user(
 | 
			
		||||
    request: Request,
 | 
			
		||||
    credentials: HTTPAuthorizationCredentials = Depends(auth_scheme),
 | 
			
		||||
    require_permissions: bool = Depends(_require_permissions_flag)
 | 
			
		||||
):
 | 
			
		||||
    credentials: HTTPAuthorizationCredentials,
 | 
			
		||||
    require_permissions: bool
 | 
			
		||||
) -> CurrentUser:
 | 
			
		||||
    token = credentials.credentials
 | 
			
		||||
    ip = request.client.host or "(unknown)"
 | 
			
		||||
    user_agent = request.headers.get("User-Agent", "(unknown)")
 | 
			
		||||
@ -45,7 +42,6 @@ async def get_current_user(
 | 
			
		||||
        raise HTTPException(status_code=status.HTTP_503_SERVICE_UNAVAILABLE, detail="Token service unavailable")
 | 
			
		||||
 | 
			
		||||
    if response.status_code != 200:
 | 
			
		||||
        # raise HTTPException(status_code=response.status_code, detail=response.json().get("detail", "Invalid token"))
 | 
			
		||||
        raise HTTPException(
 | 
			
		||||
            status_code=response.status_code,
 | 
			
		||||
            detail=f"token_service: {response.text}"
 | 
			
		||||
@ -61,6 +57,19 @@ async def get_current_user(
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
async def get_current_user(
 | 
			
		||||
    request: Request,
 | 
			
		||||
    credentials: HTTPAuthorizationCredentials = Depends(auth_scheme)
 | 
			
		||||
) -> CurrentUser:
 | 
			
		||||
    return await _fetch_current_user(request, credentials, require_permissions=False)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
async def get_current_user_with_permissions(
 | 
			
		||||
    request: Request,
 | 
			
		||||
    credentials: HTTPAuthorizationCredentials = Depends(auth_scheme)
 | 
			
		||||
) -> CurrentUser:
 | 
			
		||||
    return await _fetch_current_user(request, credentials, require_permissions=True)
 | 
			
		||||
 | 
			
		||||
def validate_username(value: str,
 | 
			
		||||
                      field_name: str = "login",
 | 
			
		||||
                      with_httpexception=False,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user