Advertisement
Guest User

Untitled

a guest
Jul 7th, 2018
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.98 KB | None | 0 0
  1. @app.route('/', methods=['GET'])
  2. def index():
  3.  
  4.  
  5.  
  6.  
  7. @app.route('/login', methods=['GET', 'POST'])
  8. def login():
  9.     check_host_alive(url_auth_server, url_auth_port)
  10.  
  11.     target = request.headers['X-Original-URI']
  12.     app.logger.debug("original uri {}".format(request.headers['X-Original-URI']))
  13.  
  14.     app.logger.debug('route /login ***************')
  15.     app.logger.debug("Target {}".format(target))
  16.     app.logger.debug('Header: {}'.format(request.headers))
  17.     app.logger.debug('Data body: {}'.format(request.get_data(as_text=True)))
  18.  
  19.     form = LoginForm(target=target)
  20.     if form.validate_on_submit():
  21.         username = form.login.data
  22.         password = form.password.data
  23.         target = form.target.data
  24.         app.logger.info("Validating form...")
  25.         print(form)
  26.        
  27.         auth_token = ValidUser(request, username, password)
  28.         app.logger.debug('Token: {}'.format(auth_token))
  29.  
  30.         if auth_token:
  31.             app.logger.debug("Target **********************")
  32.             app.logger.debug(target)
  33.             print(redirect_url())
  34.             resp = make_response(redirect(url_for('index')))
  35.             print(resp)
  36.             secure = True if app.debug is False else False
  37.             # Secure limits cookies to HTTPS traffic only.
  38.             # HttpOnly prevents JavaScript from reading the cookie
  39.             app.logger.info('Saving cookies...')
  40.  
  41.             resp.set_cookie('token', auth_token,
  42.                             secure=secure,
  43.                             httponly=True,
  44.                             expires=expire_date,
  45.                             )
  46.             resp.set_cookie('user_name', username,
  47.                             secure=secure,
  48.                             httponly=True,
  49.                             expires=expire_date,
  50.                             )
  51.  
  52.             # Set headers that will be received by the service for this request
  53.             app.logger.info('Setting headers')
  54.             resp.headers['REMOTE_USER'] = username
  55.             resp.headers['X-WEBAUTH-USER'] = username
  56.             resp.headers['X-Forwarded-User'] = username
  57.             app.logger.debug(resp.headers)
  58.             set_token_db_cache(username, auth_token)
  59.  
  60.             return resp
  61.         app.logger.warning('Wrong password! Please repeat!')
  62.         error = 'Invalid credentials.'
  63.         flash('{} Please repeat!'.format(error))
  64.  
  65.     return render_template('login.html', form=form)
  66.  
  67. if __name__ == '__main__':
  68.     handler = RotatingFileHandler('sol.log', maxBytes=10000, backupCount=3)
  69.     # app.logger = logging.getLogger(__name__)
  70.     handler.setLevel(logging.DEBUG)
  71.     formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
  72.     handler.setFormatter(formatter)
  73.     app.logger.addHandler(handler)
  74.     app.logger.info('test')
  75.     app.logger.debug("Current working directory {}".format(os.getcwd()))
  76.  
  77.     create_db()
  78.     app.run(host=listen_interface, port=AUTH_PORT)
  79.     # TODO remove and create cache file
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement