Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import base64
- import os
- from flask import Flask, Response
- from flask import abort, request
- app = Flask(__name__)
- @app.route("/")
- @app.route("/headers")
- def basic_auth():
- if 'authorization' in request.headers:
- authdata = parse_authdata(request.headers['authorization'])
- else:
- abort(401)
- return Response('authdata = {!r}\n'.format(authdata),
- mimetype='text/plain')
- @app.errorhandler(401)
- def custom_401(error):
- return Response('Access denied', 401, {'www-authenticate':'Basic realm="Test realm"'})
- def parse_authdata(value):
- try:
- auth_type, auth_info = value.split(None, 1)
- auth_type = auth_type.lower()
- except ValueError:
- return
- if auth_type != 'basic':
- return
- return base64.standard_b64decode(auth_info)
- if __name__ == "__main__":
- port = int(os.environ.get('PORT', 5000))
- app.run(host='0.0.0.0', port=port)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement