def read_current_user(
    credentials: Optional[HTTPAuthorizationCredentials] = Security(security),
):
    if credentials is None:
        return {"msg": "Create an account first"}
    return {"scheme": credentials.scheme, "credentials": credentials.credentials}
Esempio n. 2
0
async def get_secure_custom_user(user: CustomAuth0User = Security(
    auth_custom.get_user)):
    return user
Esempio n. 3
0
async def get_current_active_user(
        current_user: User = Security(get_current_user, scopes=["me"])
):
    if current_user.disabled:
        raise HTTPException(status_code=400, detail="Inactive user")
    return current_user
Esempio n. 4
0
async def get_active_user_through_cookies(
        active_user: UserAuth = Security(get_current_user)):
    return active_user
Esempio n. 5
0
async def get_also_secure(user: Auth0User = Security(auth.get_user)):
    return user
Esempio n. 6
0
async def fetch_users(_=Security(get_current_user, scopes=["admin"])):
    """
    Retrieves the list of all users and their information
    """
    return await crud.fetch_all(users)
def get_current_user(oauth_header: str = Security(api_key)):
    user = User(username=oauth_header)
    return user
Esempio n. 8
0
def get_current_active_superuser(current_user: User = Security(get_current_user)):
    if not crud.user.is_superuser(current_user):
        raise HTTPException(
            status_code=400, detail="The user doesn't have enough privileges"
        )
    return current_user
Esempio n. 9
0
async def delete_media(media_id: int = Path(..., gt=0), _=Security(get_current_access, scopes=["admin"])):
    """
    Based on a media_id, deletes the specified media
    """
    return await crud.delete_entry(media, media_id)
Esempio n. 10
0
async def read_users(users: List[User] = Security(get_users,
                                                  scopes=["users"])):
    return users
Esempio n. 11
0
from pony.orm import db_session
from fastapi.responses import FileResponse, RedirectResponse

from app.developers.security import get_current_dev
from app.utils.jinja2_utils import developer_templates, db_templates
from app.utils.html_utils import Alert
from app.pydantic_models.gen import output_ent as out_pd
from app.pydantic_models.standart_methhods_redefinition import AccessType, AccessMode
from app.db import models as m

dev = APIRouter(
    prefix="/dev",
    tags=["developer"],
    dependencies=[
        # Depends(open_db_session),
        Security(get_current_dev, scopes=[str(AccessType.DEVELOPER)])
    ],  #
    responses={404: {"description": "Not found"}},
)


@dev.get("/me")
@db_session
def personal_page(request: Request, me=Security(get_current_dev, scopes=[str(AccessType.DEVELOPER)])):
    me.scopes += [str(AccessType.SELF)]
    return developer_templates.TemplateResponse("personal_page.html", {
        "request": request,
        "alert": Alert("Вы вошли в личный кабинет!", Alert.SUCCESS),
        "personal_data": db_templates.get_cooked_template(
            "Developer_form.html", {"request": request,
                                    "developer": out_pd.Developer(**dict(me)),
Esempio n. 12
0
def get_user(current_user: User = Security(get_current_user)):
    """Проверка активный юзер или нет"""
    if not crud.user.is_active(current_user):
        raise HTTPException(status_code=400, detail="Inactive user")
    return current_user
Esempio n. 13
0
async def get_users(*, token: str = Security(is_auth)):
  return user.get_users()
Esempio n. 14
0
async def is_auth(token: str = Security(oauth2_scheme)):
  return auth.validate(token)
Esempio n. 15
0
async def get_my_user(me: UserRead = Security(get_current_user,
                                              scopes=["admin", "me"])):
    """
    Retrieves information about the current user
    """
    return me
def get_current_user(oauth_header: "str" = Security(reusable_oauth2)):
    user = User(username=oauth_header)
    return user
Esempio n. 17
0
async def get_user(user_id: int = Path(..., gt=0),
                   _=Security(get_current_user, scopes=["admin"])):
    """
    Based on a user_id, retrieves information about the specified user
    """
    return await crud.get_entry(users, user_id)
def read_current_user(
        credentials: HTTPAuthorizationCredentials = Security(security)):
    return {
        "scheme": credentials.scheme,
        "credentials": credentials.credentials
    }
Esempio n. 19
0
from app.schemas.farm import Farm
from app.schemas.farm_token import FarmTokenCreate, FarmAuthorizationParams
from app.api.utils.farms import get_farm_by_id, get_oauth_token, get_farm_client, admin_alert_email
from app.api.utils.security import get_farm_access, get_farm_access_allow_public
from app.utils import (generate_farm_registration_link,
                       send_farm_registration_email,
                       generate_farm_authorization_link,
                       send_farm_authorization_email)

logger = logging.getLogger(__name__)

router = APIRouter()


@router.post("/ping-farms/",
             dependencies=[Security(get_farm_access)],
             response_model=Msg,
             status_code=200)
def ping_farms(db: Session = Depends(get_db)):
    """
    Ping all active farms.
    """
    farm_list = crud.farm.get_multi(db, active=True)

    total_response = 0
    for farm in farm_list:
        try:
            farm_client = get_farm_client(db_session=db, farm=farm)
            info = farm_client.info()
            total_response += 1
        except Exception as e:
Esempio n. 20
0
    tags=["farms"],
)

# Include /farms/info endpoint.
api_router.include_router(
    info.router,
    prefix="/farms/info",
    tags=["farm info"],
)

# Include /farms/logs endpoints.
api_router.include_router(logs.router,
                          prefix="/farms/logs",
                          tags=["farm logs"],
                          dependencies=[
                              Security(get_farm_access,
                                       scopes=['farm:read', 'farm.logs'])
                          ])

# Include /farms/assets endpoints.
api_router.include_router(assets.router,
                          prefix="/farms/assets",
                          tags=["farm assets"],
                          dependencies=[
                              Security(get_farm_access,
                                       scopes=['farm:read', 'farm.assets'])
                          ])

# Include /farms/terms endpoints.
api_router.include_router(terms.router,
                          prefix="/farms/terms",
                          tags=["farm terms"],
Esempio n. 21
0
def read_current_user(credentials: Optional[HTTPBasicCredentials] = Security(security)):
    if credentials is None:
        return {"msg": "Create an account first"}
    return {"username": credentials.username, "password": credentials.password}
Esempio n. 22
0
from fastapi import APIRouter
from fastapi import Security

from app.api.api_v1.endpoints import config
from app.api.api_v1.endpoints import domains
from app.api.api_v1.endpoints import login
from app.api.api_v1.endpoints import modules
from app.api.api_v1.endpoints import users
from app.api.api_v1.endpoints import vps
from app.api.utils.security import get_current_user

api_router = APIRouter()
api_router.include_router(login.router, tags=['login'])
api_router.include_router(config.router,
                          prefix='/config',
                          tags=['config'],
                          dependencies=[Security(get_current_user)])
api_router.include_router(users.router, prefix='/users', tags=['users'])
api_router.include_router(vps.router,
                          prefix='/vps',
                          tags=['vps'],
                          dependencies=[Security(get_current_user)])
api_router.include_router(domains.router,
                          prefix='/domains',
                          tags=['domains'],
                          dependencies=[Security(get_current_user)])
api_router.include_router(modules.router,
                          prefix='/modules',
                          tags=['modules'],
                          dependencies=[Security(get_current_user)])
def get_current_user(oauth_header: Optional[str] = Security(reusable_oauth2)):
    if oauth_header is None:
        return None
    user = User(username=oauth_header)
    return user
Esempio n. 24
0
def get_current_active_user(
    current_user: User = Security(get_current_user)
    ):
    if not crud_user.is_active(current_user):
        raise HTTPException(status_code=400, detail="Usuario inativo")
    return current_user
Esempio n. 25
0
async def get_secure_scoped(user: Auth0User = Security(
    auth.get_user, scopes=[auth0_test_permission])):
    return user
Esempio n. 26
0
async def read_items(token: Optional[str] = Security(oauth2_scheme)):
    return {"token": token}
Esempio n. 27
0
async def read_own_items(
        current_user: User = Security(get_current_active_user, scopes=["items"])
):
    return [{"item_id": "Foo", "owner": current_user.username}]
Esempio n. 28
0
from typing import Optional, List

import fastapi
from fastapi import Depends, Security

from forsguiden.dependencies import on_database
from forsguiden.model import *
from forsguiden.db import Db
from forsguiden.security import behorighet

router = fastapi.APIRouter(tags=["Vattendrag"])

# Vattendrag
_redigera = dependencies = [Security(behorighet("redigera:vattendrag"))]


@router.get("/vattendrag")
async def lista_vattendrag(db: Db = Depends(
    on_database)) -> VattendragCollection:
    return VattendragCollection(vattendrag=db.lista_vattendrag())


@router.get("/vattendrag/{id}")
async def hamta_vattendrag_med_id(
    id: int, db: Db = Depends(on_database)) -> Vattendrag:
    vattendrag = db.hamta_vattendrag(id)
    if vattendrag is None:
        raise fastapi.HTTPException(status_code=404)
    return vattendrag

Esempio n. 29
0
def get_current_active_user(current_user: User = Security(get_current_user)):
    if not service.user.is_active(current_user):
        raise HTTPException(status_code=400, detail="Inactive user")
    return current_user
Esempio n. 30
0
def get_current_active_user(
        current_user: UserSecurity = Security(get_current_user)):
    if not current_user.isActive:
        raise HTTPException(status_code=400, detail="Inactive user")
    return current_user