[keycloak-dev] Reset Password changes complete needs review
Bill Burke
bburke at redhat.com
Tue Aug 18 10:53:44 EDT 2015
On 8/18/2015 9:04 AM, Stian Thorgersen wrote:
> Can you elaborate on what the benefits are of these changes? It seems to me that we had something that was working just fine..
>
> ----- Original Message -----
>> From: "Bill Burke" <bburke at redhat.com>
>> To: keycloak-dev at lists.jboss.org
>> Sent: Sunday, 16 August, 2015 11:26:54 PM
>> Subject: [keycloak-dev] Reset Password changes complete needs review
>>
>> Here's what I did, I can change things based on questions I asked in
>> other emails, but here's how it works.
>>
>> There's now the concept of "reset password" and a different one "change
>> password".
>>
>> * Reset password is something the user initiates. This will start an
>> Authentication Flow and success will login the user and bring them to
>> their application
>
> I assume this is still through email - if so it's important that users are only logged-in if the reset password link is opened in the same user session as they initiated the reset password flow
>
With the previous impl, if somebody as able to hack your email account,
then they could bypass OTP entirely. Also previous implementation
wasn't really compatible with auth SPI. There may be additional steps
to reseting credentials beyond an email, i.e. entering in a code from an
SMS message. We may also be reseting both OTP and Password. Finally,
the update password required action had reset-password specific logic
within it.
Honestly, I'd prefer to switch exclusively to a temporary code as it
makes everything much simpler to support: for us and for users wanting
to write extensiosn. I don't think this is a big usability issue as
Google requires entering a temporary code from an SMS message. Also,
with the way it worked in 1.4, out-of-band email password reset would
require relogging in which is actually more steps. Finally, links can
be messed up by email readers sometimes if they are long enough, making
them error prone.
>> * Change password is something initiated by an admin. This just sends
>> an email to the user to reset their password and does not start an
>> authentcation flow.
>
> I don't understand why there's two different names/concepts here.
>
The messages would be different:
Reset password: Somebody reset your password, click the link or enter in
the code on the web page from the email
Change password: Your adminstrator has requested you change your
credentials. Please click the link to reset them.
Reset password could potentially log the user in. Change password would
not log the user in and just display a "Credentials Reset" message.
> Yes, we should never make it possible to guess/check usernames/emails.
>
That's what I assumed and that's what I implemented.
--
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com
More information about the keycloak-dev
mailing list