Require both user and email for anonymous password resets
This commit is contained in:
parent
2b153bef8d
commit
a604018249
@ -12,13 +12,15 @@ class Devise::PasswordsController < DeviseController
|
||||
|
||||
# POST /resource/password
|
||||
def create
|
||||
self.resource = resource_class.send_reset_password_instructions(resource_params)
|
||||
yield resource if block_given?
|
||||
user = resource_class.find_by(cn: resource_params['cn'])
|
||||
|
||||
if successfully_sent?(resource)
|
||||
respond_with({}, location: after_sending_reset_password_instructions_path_for(resource_name))
|
||||
if (!user || user.email != resource_params['email'])
|
||||
msg = "Username or email address not found."
|
||||
redirect_to new_user_password_path, alert: msg
|
||||
else
|
||||
respond_with(resource)
|
||||
resource_class.send_reset_password_instructions(resource_params)
|
||||
msg = "We have sent you an email with a link to reset your password."
|
||||
redirect_to check_your_email_path, notice: msg
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -4,12 +4,23 @@
|
||||
<%= render "devise/shared/error_messages", resource: resource %>
|
||||
|
||||
<div class="field">
|
||||
<%= f.label :email %><br />
|
||||
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
||||
<p>
|
||||
<%= f.label :cn, 'User' %><br />
|
||||
<%= f.text_field :cn, autofocus: true, autocomplete: "username" %> @ kosmos.org
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p>
|
||||
<%= f.label :email, 'Email address' %><br />
|
||||
<%= f.email_field :email, autocomplete: "email" %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<%= f.submit "Send me reset password instructions" %>
|
||||
<p>
|
||||
<%= f.submit "Send me reset password instructions" %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user