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)
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'}
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})
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