瀏覽代碼

fix(api): silently accept unnecessary user unlock attempt

Peter Thomassen 7 年之前
父節點
當前提交
df7af6a5a6
共有 2 個文件被更改,包括 8 次插入6 次删除
  1. 1 1
      api/desecapi/templates/unlock.html
  2. 7 5
      api/desecapi/views.py

+ 1 - 1
api/desecapi/templates/unlock.html

@@ -2,7 +2,7 @@
 <html lang="en">
 <html lang="en">
 <head>
 <head>
     <meta charset="UTF-8">
     <meta charset="UTF-8">
-    <title>Title</title>
+    <title>Unlock deSEC account</title>
     <script src="https://www.google.com/recaptcha/api.js" async defer></script>
     <script src="https://www.google.com/recaptcha/api.js" async defer></script>
 </head>
 </head>
 <body>
 <body>

+ 7 - 5
api/desecapi/views.py

@@ -472,12 +472,14 @@ def unlock(request, email):
         if form.is_valid():
         if form.is_valid():
             try:
             try:
                 user = User.objects.get(email=email)
                 user = User.objects.get(email=email)
-                user.unlock()
-                if not user.dyn:
-                    context = {'token': user.get_token()}
-                    send_token_email(context, user)
+                if user.locked:
+                    user.unlock()
+                    if not user.dyn:
+                        context = {'token': user.get_token()}
+                        send_token_email(context, user)
             except User.DoesNotExist:
             except User.DoesNotExist:
-                pass # fail silently, otherwise people can find out if email addresses are registered with us
+                # fail silently, so people can't probe registered addresses
+                pass
 
 
             return HttpResponseRedirect(reverse('unlock/done'))
             return HttpResponseRedirect(reverse('unlock/done'))