示例#1
0
def register(user: schemas.UserCreate, db=Depends(get_db)):
    if crud.user.get(user.email, db):
        raise HTTPException(409, 'A User with this email already exists')
    user = schemas.User.from_orm(crud.user.create(db, user))

    # create token
    access_token = manager.create_access_token(data={'sub': user.email})
    token = Token(access_token=access_token, token_type="Bearer")
    return schemas.UserRegistered(**user.dict(), login_credentials=token)
示例#2
0
def login(data: OAuth2PasswordRequestForm = Depends(), db=Depends(get_db)):
    email = data.username
    password = data.password
    user = crud.user.get(email, db)
    if not user:
        raise INVALID_CREDENTIALS_ERROR
    elif not verify_password(password, user.password):
        raise INVALID_CREDENTIALS_ERROR

    access_token = manager.create_access_token(data={'sub': user.email})
    return {'access_token': access_token, 'token_type': 'Bearer'}
示例#3
0
def login(data: OAuth2PasswordRequestForm = Depends(), db=Depends(get_db)):
    email = data.username
    password = data.password
    user = crud.user.get_user(email, db)
    if not user:
        raise InvalidCredentialsException
    elif not verify_password(password, user.password):
        raise InvalidCredentialsException

    access_token = manager.create_access_token(data={'sub': user.email})
    return {'access_token': access_token, 'token_type': 'Bearer'}
def test_login(client, user_data, db):
    # create user in db
    user_data.password = '******'
    crud.user.create_user(db, user_data)
    resp = client.post('/auth/login',
                       data={
                           'username': user_data.email,
                           'password': '******'
                       })
    assert resp.status_code == 200
    token = resp.json().get('access_token')
    assert token == manager.create_access_token(data={'sub': user_data.email})
示例#5
0
def access_headers(db_user_factory):
    user = db_user_factory()
    token = manager.create_access_token(data=dict(sub=user.email))
    header = {'Authorization': f"Bearer {token}"}
    return user, header