moving forgot_password views back to gmg/auth and cleanup
[mediagoblin.git] / mediagoblin / plugins / basic_auth / __init__.py
index 74d6b8360f27c5b4ac79b8a9468b683e7f804d8c..2fe161cbf91c3683159400ae97f671e7d37d331e 100644 (file)
 #
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-import os
 import uuid
 
-import forms as auth_forms
-import lib as auth_lib
+from mediagoblin.plugins.basic_auth import forms as auth_forms
+from mediagoblin.plugins.basic_auth import lib as auth_lib
 from mediagoblin.db.models import User
 from mediagoblin.tools import pluginapi
 from sqlalchemy import or_
@@ -28,9 +27,10 @@ def setup_plugin():
 
 
 def check_login(user, password):
-    result = auth_lib.bcrypt_check_password(password, user.pw_hash)
-    if result:
-        return result
+    if user.pw_hash:
+        result = auth_lib.bcrypt_check_password(password, user.pw_hash)
+        if result:
+            return result
     return None
 
 
@@ -70,6 +70,10 @@ def gen_password_hash(raw_pass, extra_salt):
     return auth_lib.bcrypt_gen_password_hash(raw_pass, extra_salt)
 
 
+def check_password(raw_pass, stored_hash, extra_salt):
+    return auth_lib.bcrypt_check_password(raw_pass, stored_hash, extra_salt)
+
+
 def auth():
     return True
 
@@ -93,6 +97,7 @@ hooks = {
     'auth_get_login_form': get_login_form,
     'auth_get_registration_form': get_registration_form,
     'auth_gen_password_hash': gen_password_hash,
+    'auth_check_password': check_password,
     'auth_fake_login_attempt': auth_lib.fake_login_attempt,
     'template_global_context': append_to_global_context,
     ('mediagoblin.plugins.openid.register',