title: Flask Basic HTTP Auth use login page
body: <p>I'm building a test app and used the instructions here (<a href="http://flask.pocoo.org/snippets/8/" rel="nofollow">http://flask.pocoo.org/snippets/8/</a>) to setup simple authentication.  On pages where auth is required I get a popup saying "Authorization Required". 
  Instead of that, I'd like to redirect to a login page where the user can put their user/pass in a form.</p>
  
  <p>Here's what I have currently (same as the snippet in the link):</p>
  
  <pre><code>from functools import wraps
  from flask import request, Response
  
  
  def check_auth(username, password):
      """This function is called to check if a username /
      password combination is valid.
      """
      return username == 'admin' and password == 'secret'
  
  def authenticate():
      """Sends a 401 response that enables basic auth"""
      return Response(
      'Could not verify your access level for that URL.\n'
      'You have to login with proper credentials', 401,
      {'WWW-Authenticate': 'Basic realm="Login Required"'})
  
  def requires_auth(f):
      @wraps(f)
      def decorated(*args, **kwargs):
          auth = request.authorization
          if not auth or not check_auth(auth.username, auth.password):
              return authenticate()
          return f(*args, **kwargs)
      return decorated
  </code></pre>
  
  <p>It looks like I could use Flask-Auth, but I really only need the functionality that the above provides.</p>
  
  <p>Thanks,
  Ryan</p>