I have a web site where some users authenticate with email/password and other users only require an email address to authenticate.

I'm trying to make the most natural login screen, but I'm struggling with the best way.

If I prompt for both email and password, users who come to the site without a password will be confused by the password box and perhaps assume they have a password they've forgotten.

If I don't have a textbox for a password, then I have to do a round trip to the server and then add a password prompt for those users that require it, making the login process for password-protected users a little clunky.

Does anyone have any links to sites that have solved this problem gracefully?

2 Answers 2


Assuming you are unwilling to segregate the login pages into two separate pages ("Registered User Login" vs. "Casual User Login", or whatever is appropriate), your only option is to make the roundtrip to the server as graceful as possible. Make the initial POST via AJAX and if a password is required, prompt the user for it via a new input field (or modal) without leaving the login page.

You're not going to get a "single click login" for everyone unless you segregate the pages by user type or you just put the password input on the page with some guidance, but you ruled out this approach in your question.


Amazons login screen asks the user for an email address first and if s/he already has a password or not. Although this is a slightly different scenario (login vs. sign up) I think its totally ok to let the user tell the system what their "password situation" is. Any other workaround would always confuse either the user with or without a password.

  • Interesting design, although I don't think it would work in my use case. We don't force users to have passwords until they want to use certain features.
    – Aheho
    Commented Nov 13, 2013 at 13:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.