Пример #1
0
def test_authenticate_user_wrong_user(example_user):
    example_user.hashed_password = pwd_context.hash('bababa')

    with patch('app.auth.get_user', return_value=None):
        user = authenticate_user(Mock(),
                                 email=example_user.email,
                                 password='******')

    assert user is False
Пример #2
0
async def login_for_access_token(
        form_data: OAuth2PasswordRequestForm = Depends(),
        db: Session = Depends(get_db)):
    user = auth.authenticate_user(db, form_data.username, form_data.password)
    if not user:
        raise HTTPException(
            status_code=status.HTTP_401_UNAUTHORIZED,
            detail="Incorrect username or password",
            headers={"WWW-Authenticate": "Bearer"},
        )
    access_token_expires = timedelta(minutes=auth.ACCESS_TOKEN_EXPIRE_MINUTES)
    access_token = auth.create_access_token(data={"sub": user.username},
                                            expires_delta=access_token_expires)
    return {"access_token": access_token, "token_type": "bearer"}
Пример #3
0
def login(db=Depends(get_db),
          form_data: OAuth2PasswordRequestForm = Depends()):
    user = authenticate_user(db,
                             email=form_data.username,
                             password=form_data.password)

    if not user:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,
                            detail='Incorrect username or password',
                            headers={'Authenticate': 'Bearer'})

    access_token_expires = timedelta(minutes=ACCESS_TOKEN_EXPIRES_MINUTES)
    access_token = create_access_token(data={'sub': user.email},
                                       expires_delta=access_token_expires)

    return {'access_token': access_token, 'token_type': 'bearer'}
Пример #4
0
async def login_for_access_token(
        form_data: OAuth2PasswordRequestForm = Depends(),
        db: Session = Depends(get_db)):
    """
    Authentication.
    :param form_data: Form Data {login, password}
    :param db: db Session
    :return: Token object
    """
    user = authenticate_user(db, form_data.username, form_data.password)

    if not user:
        raise HTTPException(
            status_code=401,
            detail="Incorrect username or password",
            headers={"WWW-Authenticate": "Bearer"},
        )

    access_token = create_access_token(data={"sub": user.nickname})

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