Add login to security blueprint

This commit is contained in:
Matt Wright
2012-08-16 15:18:49 -04:00
parent 2fcfb80e8e
commit 1d378a6827
6 changed files with 13 additions and 14 deletions
+1
View File
@@ -37,6 +37,7 @@ _default_config = {
'PASSWORD_SALT': None,
'PASSWORD_HMAC': False,
'AUTH_URL': '/auth',
'LOGIN_URL': '/login',
'LOGOUT_URL': '/logout',
'REGISTER_URL': '/register',
'RESET_URL': '/reset',
+1 -1
View File
@@ -1,7 +1,7 @@
{% from "security/_macros.html" import render_field_with_errors, render_field %}
{% include "security/_messages.html" %}
<h1>Login</h1>
<form action="{{ url_for_security('authenticate') }}" method="POST" name="login_form">
<form action="{{ url_for_security('login') }}" method="POST" name="login_form">
{{ login_form.hidden_tag() }}
{{ render_field_with_errors(login_form.email) }}
{{ render_field_with_errors(login_form.password) }}
+9
View File
@@ -93,6 +93,12 @@ def authenticate():
return redirect(request.referrer or _security.login_manager.login_view)
def login():
form = PasswordlessLoginForm() if _security.passwordless else LoginForm()
template = 'send_login' if _security.passwordless else 'login'
return render_template('security/%s.html' % template, login_form=form)
def logout():
"""View function which handles a logout request."""
@@ -288,6 +294,9 @@ def create_blueprint(app, name, import_name, **kwargs):
methods=['POST'],
endpoint='authenticate')(authenticate)
bp.route(config_value('LOGIN_URL', app=app),
endpoint='login')(login)
bp.route(config_value('LOGOUT_URL', app=app),
endpoint='logout')(login_required(logout))