aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/plugins/basic_auth
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/plugins/basic_auth')
-rw-r--r--mediagoblin/plugins/basic_auth/__init__.py21
-rw-r--r--mediagoblin/plugins/basic_auth/forms.py3
2 files changed, 10 insertions, 14 deletions
diff --git a/mediagoblin/plugins/basic_auth/__init__.py b/mediagoblin/plugins/basic_auth/__init__.py
index a2efae92..33a554b0 100644
--- a/mediagoblin/plugins/basic_auth/__init__.py
+++ b/mediagoblin/plugins/basic_auth/__init__.py
@@ -15,13 +15,14 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin.plugins.basic_auth import forms as auth_forms
from mediagoblin.plugins.basic_auth import tools as auth_tools
+from mediagoblin.auth.tools import create_basic_user
from mediagoblin.db.models import User
from mediagoblin.tools import pluginapi
from sqlalchemy import or_
def setup_plugin():
- config = pluginapi.get_config('mediagoblin.pluginapi.basic_auth')
+ config = pluginapi.get_config('mediagoblin.plugins.basic_auth')
def get_user(**kwargs):
@@ -38,9 +39,7 @@ def get_user(**kwargs):
def create_user(registration_form):
user = get_user(username=registration_form.username.data)
if not user and 'password' in registration_form:
- user = User()
- user.username = registration_form.username.data
- user.email = registration_form.email.data
+ user = create_basic_user(registration_form)
user.pw_hash = gen_password_hash(
registration_form.password.data)
user.save()
@@ -60,7 +59,10 @@ def gen_password_hash(raw_pass, extra_salt=None):
def check_password(raw_pass, stored_hash, extra_salt=None):
- return auth_tools.bcrypt_check_password(raw_pass, stored_hash, extra_salt)
+ if stored_hash:
+ return auth_tools.bcrypt_check_password(raw_pass,
+ stored_hash, extra_salt)
+ return None
def auth():
@@ -72,11 +74,6 @@ def append_to_global_context(context):
return context
-def add_to_form_context(context):
- context['pass_auth_link'] = True
- return context
-
-
hooks = {
'setup': setup_plugin,
'authentication': auth,
@@ -88,8 +85,4 @@ hooks = {
'auth_check_password': check_password,
'auth_fake_login_attempt': auth_tools.fake_login_attempt,
'template_global_context': append_to_global_context,
- ('mediagoblin.plugins.openid.register',
- 'mediagoblin/auth/register.html'): add_to_form_context,
- ('mediagoblin.plugins.openid.login',
- 'mediagoblin/auth/login.html'): add_to_form_context,
}
diff --git a/mediagoblin/plugins/basic_auth/forms.py b/mediagoblin/plugins/basic_auth/forms.py
index 72d99dff..6cf01b38 100644
--- a/mediagoblin/plugins/basic_auth/forms.py
+++ b/mediagoblin/plugins/basic_auth/forms.py
@@ -41,3 +41,6 @@ class LoginForm(wtforms.Form):
normalize_user_or_email_field()])
password = wtforms.PasswordField(
_('Password'))
+ stay_logged_in = wtforms.BooleanField(
+ label='',
+ description=_('Stay logged in'))