[Freeipa-devel] [PATCH] 157 Added password reset capabilities to unauthorized dialog
Endi Sukma Dewata
edewata at redhat.com
Wed Jun 13 17:18:02 UTC 2012
On 6/13/2012 8:15 AM, Petr Vobornik wrote:
> I'll address all issues once we decide on the solution.
>
>> 1. If you click 'form-based authentication the dialog title still shows
>> 'Kerberos ticket no longer valid' which is not relevant for form-based
>> authentication. It might be better to use 'Login' as the title for all
>> pages in this dialog.
>
> Agree
>
>> 2. Instead of having to go to a separate page for form-based
>> authentication, would it be better to change the first page in the login
>> dialog to show the login form? Something like this:
>>
>> Login
>> -----------------------------------------------------
>>
>> Your session has expired. Please re-login.
>>
>> To login with username and password:
>>
>> Username: [edewata ]
>> Password: [******** ]
>>
>> [Login]
>>
>> To login with Kerberos, please make sure you
>> have valid tickets (obtainable via kinit) and
>> [configured] the browser correctly.
>>
>> [Login with Kerberos]
>>
>> The two login mechanisms can be shown at the same time like above or in
>> collapsible sections. If the user enters a password and it's expired,
>> the dialog will change into:
>
> I like the idea but I'm not sure about the layout. Having one button
> inside the dialog seems strange a also it will probably look weird.
You mean two buttons (Login & Login with Kerberos)? I agree it's kinda
strange.
> Collapsible sections are worse because you have to click on them so it
> slow things down.
That's also true. I'll leave this up to you. The current workflow still
makes sense if we consider form-based authentication a less preferred
method, so you'd have to go to another page to login with username &
password.
> Current implementation has 'forms-based
> authentication' link selected so user can in most cases hit enter and
> immediately write username, password and complete login procedure only
> by using keyboard.
Hmm... that's not very obvious though. I wouldn't have known that until
you told me :) I think intuitively people will think that if you hit
enter it will click the default button in the dialog, unless there's
input text field.
> Also 'Login with Kerberos' is misleading. User login elsewhere (kinit).
> So current button: 'retry' is more appropriate.
What I meant was 'Login with Kerberos mechanism' or 'Login with Kerberos
ticket', but it might be too long. I assume people in general isn't
going to be confused by that because the text also mentions that you'd
have to get the ticket from kinit.
My concern with 'Retry' is that if you open the UI for the first time
and you haven't done kinit yet, you'll see a message saying your
Kerberos ticket has expired and asking you to Retry. This is not quite
accurate because you never had a ticket before.
The 'expired ticket' and 'retry' message might make more sense if you
already had the UI open but left it for a while and come back to
continue. If you just open the UI for the first time I think the message
should only tell you what you need to do to login, not what went wrong
in the past.
I'll leave this up to you too. We might be able to keep the current
workflow, but display different message depending whether it's your
first visit or return visit.
>> Login
>> -----------------------------------------------------
>>
>> Your password has expired. Please enter a new
>> password:
>>
>> Username: edewata
>> New Password: [******** ]
>> Verify Password: [******** ]
>>
>> [Reset Password and Login] [Cancel]
>>
>> In this page the username is shown for info only, it's not editable. The
>> old password is not shown again, but kept in memory. I use Cancel
>> instead of Back to indicate that we are starting over. The Cancel button
>> will bring you back to the first page.
>
> Little change, but can be probably more straightforward - will do.
If you keep the original workflow, the Cancel button probably should
bring you to the first page (expired ticket), not to the second page
(login) because if your password has expired you can't login without
reset anyway.
> 2a. The dialog uses headers in title (the one from #1) and a headers
> inside (login, reset password). From your examples I'm not sure if you
> would like to:
> a) remove the inside headers
> b) change them to 'login' everywhere
> c) keep them unchanged
I think the inside header is not necessary, it's a duplicate of the
dialog title. This reset password operation is still part of login
operation because if you cancel reset you still aren't logged in yet.
>> 3. I noticed that the password is kept in memory too long by the login
>> dialog so if you go back and forth between the pages the fields are
>> already populated. This might be a security risk. I think the username &
>> password should be cleaned up when you click Back/Cancel.
>
> Agree
Also when you complete the login process, it should be cleaned up as well.
>> 4. Is there a plan to provide password reset via email?
>
> I don't think so. I'm not sure if it is even useful for Freeipa. One of
> main purposes for Freeipa is SSO and I guess company mail would be
> kerberized too. So if you forget the password, you can't login, reset
> and even access mail. I guess using external mail is not the way to go.
> Maybe it is useful if company uses additional authentication mechanism
> like pin + token or other.
OK.
--
Endi S. Dewata
More information about the Freeipa-devel
mailing list