update setup.py to match requirements
Add basic authentication middleware