Commit 76a2fc78 authored by mh's avatar mh
Browse files

indicate whether recovery email is set and explain how we store it

parent 2d715c81
......@@ -25,6 +25,10 @@ class ApplicationController < ActionController::Base
session[:trees_enabled]
end
helper_method :trees_enabled?
def recovery_email_set?
session[:recovery_email_set]
end
helper_method :recovery_email_set?
def admin?
@is_admin ||= Admin::Enabled && Admin::Admins.include?(current_user)
......
......@@ -2,11 +2,13 @@ class RecoveryEmailController < ApplicationController
def update
if !EmailValidation::check_external_email(params[:recovery_email])
flash[:notice] = :invalid_recovery_email
session[:recovery_email_set] = false
render 'show' and return
end
ApiBackend::set_recovery_email(current_user, params[:recovery_email])
flash[:notice] = :success
session[:recovery_email_set] = true
redirect_to '/'
rescue ApiBackend::ApiError => e
flash[:notice] = :failed
......
......@@ -31,6 +31,7 @@ class SessionsController < ApplicationController
session[:user_id] = params[:user_id]
session[:trees_recovery_token] = nil
session[:trees_enabled] = res['trees_enabled']
session[:recovery_email_set] = res['recovery_email']
session[:pow_factor] = 1
update_session_expiry
if @handoff
......
......@@ -3,7 +3,7 @@
<li><%= link_to (t :change_password), password_path %>
<br /><%= t(:change_password_short_help) %>
</li>
<li><%= link_to (t :recovery_email) , recovery_email_path %>
<li><%= link_to (t :recovery_email) , recovery_email_path %><% if recovery_email_set? %> (<%= t(:present) %>)<% end %>
<br /><%= t(:recovery_email_short_help) %>
</li>
<% if trees_enabled? %>
......
......@@ -5,9 +5,9 @@
</p>
<%= form_tag("/recovery_email", method: "post") do %>
<%= label_tag(:recovery_email, (t :recovery_email)) %>
<%= label_tag(:recovery_email, (t :recovery_email) + (recovery_email_set? ? " #{t(:present)} : '')) %>
<%= text_field_tag(:recovery_email) %>
<br />
<%= submit_tag(t :submit) %>
<%= submit_tag t(:submit) %>
<%= link_to t(:back), '/' %>
<% end %>
......@@ -45,7 +45,7 @@
<%= submit_tag(t :update) %>
<% end %>
</td><td style="padding-left: 50px">
<% if @the_user['recovery_email'] == 'available' %>
<% if @the_user['recovery_email'] %>
<%= form_tag(@post_path, method: "post") do %>
<%= label_tag(:verify_recovery_email, (t :verify_recovery_email)) %>
<%= text_field_tag(:verify_recovery_email) %>
......
......@@ -11,6 +11,7 @@ de:
password: "Passwort"
submit: "Abschicken"
activate: "Aktivieren"
present: "Gesetzt"
encrypt_mailbox: "Mailbox Verschlüsseln"
encrypt_mailbox_help: "ACHTUNG: Diese Funktion ist erst im Testbetrieb. Es könnten Mails verloren gehen. Aktiviere diese Funktion, damit alle Emails verschlüsselt in deiner Mailbox abgelegt werden."
encrypt_mailbox_help_existing: "(Das gilt zZ. nur für neue Mails)"
......@@ -55,7 +56,7 @@ de:
new_account_intro_token: "Deine Mails sind mit deinem Passwort verschlüsselt. Wenn du es vergisst, brauchst du diesen Token, damit wir dein Passwort zurücksetzen können. Ansonsten können deine Mails nicht mehr gelesen werden. Kopiere das Token jetzt und bewahre es sicher auf, es kann später nicht mehr angezeigt werden!"
new_account_intro2: "Wir empfehlen dir im Webmail einen GPG Schlüssel zu erstellen. Die Anleitung findest du in unserem Willkommens Email, das du nun erhalten hast."
recovery_email: "Backup Email"
recovery_email_help: "Du kannst hier bestimmen, von welcher Email Adresse aus du ein Passwort zurücksetzen kannst. Wenn du dies bereits getan hast, kannst du hier deine Entscheidung überschreiben. Solltest du deine Mailbox verschlüsselt haben, so brauchst du zusätzlich den Token zu deiner Mailbox um die Emails wiederherzustellen.."
recovery_email_help: "Du kannst hier bestimmen, von welcher Email Adresse aus du ein Passwort zurücksetzen kannst. Wenn du dies bereits getan hast, kannst du hier deine Entscheidung überschreiben. Solltest du deine Mailbox verschlüsselt haben, so brauchst du zusätzlich den Token zu deiner Mailbox um die Emails wiederherzustellen. Wir speichern die Emailadresse, so dass wir sie zwar vergleichen können, sie aber nicht lesen können. (Stichwort: Gehashed)"
recovery_email_short_help: "Von dieser Adresse aus kannst du dein Passwort zurücksetzen."
keep_recovery_token_help: "Beim Passwortverlust brauchst du ein Token, um deine Mailbox wiederherzustellen."
init_keep_token: "Ich kann jetzt gerade das Token nicht sicher aufbewahren und werde es später abholen."
......
......@@ -11,6 +11,7 @@ en:
password: "Password"
submit: "submit"
activate: "activate"
present: "present"
encrypt_mailbox: "Encrypt Mailbox"
encrypt_mailbox_help: "WARNING: This feature is not stable yet and it might happen that mails become unreadable. Activate this option to encrypt all new incomming mails in your mailbox."
encrypt_mailbox_help_existing: "(Currently only applies to new incoming mails)"
......@@ -54,7 +55,7 @@ en:
new_account_intro2: "We recommend you create a GPG key in the webmail. We sent you a welcome email with instructions."
recovery_email: "Recovery Email"
recovery_email_short_help: "You can request a new password from your recovery email address."
recovery_email_help: "You can set a recovery email here. From this address you can reset your password. If you already did this, then submitting it again, will override your former choice. For encrypted mailboxes you additionally need the token of your mailbox to recover the data."
recovery_email_help: "You can set a recovery email here. From this address you are able to ask us to reset your password. If you already did this, then submitting it again, will override your former choice. For encrypted mailboxes you need additionally the token of your mailbox to recover the data. We are storing the recovery email, so that we are able to check it, but not able to read it (hashed)."
keep_recovery_token_help: "You need this token to recover your data, when you forget your password."
init_keep_token: "Ich can't safely store the token right now. I will pick it up later."
init_delete_token: "Ich will safely store my token."
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment