What is it with services now separating username and password fields?
Back in the old times, on the sites I log in regularly, my browser filled in both username and password. I clicked "Log in" once, and I was set to go.
But no more. Now it's all first a username, then a password. From what I saw, Apple started this many years ago, but now this bother really spread. And it's not like I can just double-click on the same screen area, oh no. Animations make sure that I have to wait several hundred milliseconds before the password field is there, and depending on the site, I even have to select from my browser, which login I want to use, twice!
Why, oh why?
All my screens are really big enough to display 2 text fields. What are arguments for this behavior? I don't see any.
A lot of services these days support multiple forms of authentication. Did you sign up with a separate password? Did you use Google or Facebook auth? Is this a corporate account where auth is via their SSO? They don't even know whether they should ask for your password until they know who you are.
As someone who just built one of these, that is the exact reason we did it.
It would be cool if users just remembered which service they used to sign in, but they often don't, so this is the next best thing. Tell us your email, we look up which service you used, then send you to that service to complete the login.
And it's impossible to provide for all these options on one screen, with either a password field that some users ignore or some kind of option selection that either hides or shows it?
If you put that much trust in users you are in for a rough time. You'd get tons of "forgot password" requests because people expect to fill in every password field they're presented with. If you ask them what mode of auth they used, they don't know. Heck, I consider myself fairly on top of things, and I don't always remember how I authenticated to some site I rarely visit.
Most users would rather wait for an extra page load than deal with any of the above.
As I mentioned elsewhere in the thread, most users don't remember what they used when they created the account, particularly if it's something they don't use often. It's also cumbersome to have to input that, especially if you bundle that with an optional password field.
That's not to say you don't have a point about leaking that information. Personally I'd be more concerned about leaking the fact that I have an account at all. If this is a concern for you, you are likely not inclined to use the likes of Google Auth or Facebook Auth. You'd be better off using a unique password for each service, store them in some sort of password manager, and rely on the default behavior treating "local account" and "no account" the same in terms of showing you the password field.
Maybe that's not your preferred behavior, but it does allow you to keep that data private while simultaneously being easier to use for the SSO users.
Similarly, platforms that default to a massive CREATE AN ACCOUNT box centered on the screen and make you play Where's Fucking Waldo trying to find the size 8 "Log In" hyperlink.
That, plus the majority of users seeing the login screen are probably new. At least, unless it's one of those annoying sites that makes you log in every single time.
I believe it is so they can support various different SSO providers.
Like, oh you're trying to log in as Peter, well you're a member of the Initech domain, which uses the Initrode SSO, so let me redirect you to their SSO login page.
Oh, you're Bill, you just use a password you pleb. Here's your text box.
Nowadays it is possible to set up many services in such a way that you authenticate in a different way from a password, for example with an app on a smartphone. Such services can't ask you for your password until you have told them what account you want to log into because it might turn out you have to give them something other than a password.
yeah i noticed this as well. extremely annoying, i'm sick of UX getting shittier and more annoying for the vague promise of 'security'. having to get my phone out to login to youtube is a fucking downgrade, plain and simple.
That could be done after the user enters both the email/username and password
Edit: sorry, I think I misunderstood what you said, but if someone is using something like "sign in with google", we've had separate buttons for that for ages.
I think it might solve the problem that people often don't remember if they created their account using SSO or with an email/password combo. So the site looks up your email to see what login method you use in order to redirect you to the proper prompt.
Yes, with a limited set of federations you can have the user make that choice beforehand. But sometimes the options are changing all the time and/or you don't want to announce all the services you're federating with, or it wouldn't make sense anyway.
It started as defense against credential stuffing and a speed bump against brute force attacks. Not only is it additional loads for a bot to do, but passive captcha can be put between the steps. Now I think its becoming fashionable.
Brute force attacks through web interface cannot be a real thing. Performance is much too bad to get anywhere even in great scenarios, plus its be simple to defend against.
But even if, web automation tools don’t need to be bothered by separating input fields. In the end one request is sent anyway.
There's two reasons I can think of. One is direct resistance by services to password auto-fill during the aughts (it was new and scary) and separating the account field and pass field defeated auto-fill detection at the time. Amazon separated account and password around then and it's been that way since.
The other is your secret picture, a preventative measure against phishing attacks used by banks and other commercial interests, When you create an account, you're asked to select a stock image and a phrase that the site shows you when asking for your password. That way you know it's really the bank's site and not a phishing site.
Right now I think I have only one web account that uses such a protection.
It still gets filled in by all browsers I have.
From usability point of view it’s less chance someone press enter after putting in their login name thus leaving the password field empty and getting refused. This will often lead to a disruption friction of their workflow (don’t know the proper English word)
The JS to detect an empty password field and only enabling Enter onchange is way simpler than the code for two separate pages. I actually implemented the former once.
Google does this best. It hides the password field but it can still be picked up by bitwarden and other password managers so will already be auto-filled when you press next.
Companies lose money when their customers get complacent with security. This is one method to increase engagement with the log in process to minimize inattention. Obviously it goes counter to the opposite goal of reducing friction with the UI, they try to balance somewhere between both.