Beispiel #1
0
async def authenicate_user(db: Session, email: str,
                           password: str) -> schemas.User:
    user = await get_user_email(email, db)
    if not user:
        return False
    if not Hash.verify_password(password, user.hashed_password):
        return False
    return user
Beispiel #2
0
def create(request: schemas.User, db: Session):
    new_user = models.User(full_name=request.full_name,
                           username=request.username,
                           password=Hash.bcrypt(request.password))
    db.add(new_user)
    db.commit()
    db.refresh(new_user)
    return new_user
Beispiel #3
0
def create(user: schemas.User, db: Session):
    hashedPass = Hash.hashPassword(user.password)
    new_user = models.User(name=user.name,
                           email=user.email,
                           password=hashedPass)
    db.add(new_user)
    db.commit()
    db.refresh(new_user)
    return new_user
Beispiel #4
0
def login(request: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(get_db)):
    user = db.query(models.User).filter(models.User.email == (request.username).lower()).first()
    if not user:
        details = "Incorrect Credentials, Check email and password"
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=details)
    if not Hash.verify_password(user.password, request.password):
        details = "Incorrect Credentials, Check email and password"
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=details)

    # generate a jwt token and return it
    access_token_expires = timedelta(minutes=int(ACCESS_TOKEN_EXPIRE_MINUTES))
    access_token = create_access_token(data={"sub": user.email}, expires_delta=access_token_expires)
    return {"access_token": access_token, "token_type": "bearer"}
Beispiel #5
0
def login(request: OAuth2PasswordRequestForm, db: Session ):
    user = db.query(models.User).filter(
        models.User.email == request.email).first()
    if not user:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,
                            detail="Invalid credentials")
    if not Hash.verify(request.password, user.password):
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,
                            detail="Invalid password")
    # generate jwt token and return

    access_token = create_access_token(data={"sub": user.email})
    return {"access_token": access_token, "token_type": "bearer"}
Beispiel #6
0
async def create_user(request: schemas.UserSchema,
                      db: session = Depends(get_db)):
    users = db.query(models.User).filter(models.User.email == request.email)
    if users.first():
        raise HTTPException(status_code=400, detail="Email Already exists")
    hashed_password = Hash().hash_password(request.password)
    user = models.User(name=request.name,
                       password=hashed_password,
                       email=request.email)
    db.add(user)
    db.commit()
    db.refresh(user)
    # return new_blog
    return user
Beispiel #7
0
async def create_user(user_data: schemas.UserCreate, db: Session):
    """ADD new user"""
    new_user = await get_user_email(user_data.email, db)
    if new_user:
        raise HTTPException(status_code=status.HTTP_409_CONFLICT,
                            detail=f"{user_data.email} already registereed")

    new_user = models.User(lname=(user_data.lname).lower(),
                           fname=(user_data.fname).lower(),
                           email=(user_data.email).lower(),
                           password=Hash.get_password_hash(user_data.password))
    db.add(new_user)
    db.commit()
    db.refresh(new_user)
    return new_user
def login(
        request: OAuth2PasswordRequestForm = Depends(),
        db: Session = Depends(db.db_connection),
):
    user = db.query(m.User).filter(m.User.email == request.username).first()
    if not user:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
                            detail="Invalid credentials")
    if not Hash.verify(hashed_password=user.password,
                       unhassed_password=request.password):
        raise HTTPException(
            status_code=status.HTTP_403_FORBIDDEN,
            detail="Password doesn't match the account",
        )

    access_token_expires = timedelta(
        minutes=jwt_token.ACCESS_TOKEN_EXPIRE_MINUTES)
    access_token = jwt_token.create_access_token(
        data={"sub": user.email}, expires_delta=access_token_expires)

    return {"access_token": access_token, "token_type": "bearer"}