python - Flask-login request_loader not working? -
i'm trying implement basic auth on flask application flask-login extension. following documentation tried example request loader, gives me 401 unauthorized error, while depreciated header_loader works perfectly, doing wrong or there bug in request_loader.
i use following request_loader:
login_manager = loginmanager(app) @login_manager.request_loader def load_user_from_request(req): print req.headers # see happens user = models.werknemer.query.first() #this user exists, returns user return user my protected view:
@app.route("/test") @login_required def index(): return 'ok' and request code:
import requests requests.auth import httpbasicauth test_req = requests.get('http://localhost:5000/test', auth=httpbasicauth('test', 'test')) print test_req.content when run request code returns:
<!doctype html public "-//w3c//dtd html 3.2 final//en"> <title>401 unauthorized</title> <h1>unauthorized</h1> <p>the server not verify authorized access url requested. either supplied wrong credentials (e.g. bad password), or browser doesn't understand how supply credentials required.</p> when leave out auth part of request returns protected view. why flask not accepting basic auth header ?
i'm taking pluralsight's course on this , got same error. worked after corrected syntax in setup of authentication.
# configure authentication login_manager = loginmanager() login_manager.session_protection = 'strong' login_manager.login_view = 'login' login_manager.init_app(app) i had typed last line incorrectly , got 404 error. fixed line , worked.
Comments
Post a Comment