UX issues related to Identity #115
Description
From @SteveSandersonMS on May 9, 2016 16:32
It's debatable to what extent any of these are "bugs", since the template is just a starting point and not meant to be a finished, polished app. But many of them can be fixed easily.
-
Default "External Logins" UX is confusing
It says "External logins: 0 [Manage]". When you click 'Manage', it takes you to a blank page (there's just a heading - no content). What's an end user supposed to do with this? There should at least be some instructions here for the developer, like on other pages.
-
Default 'Manage your account' layout is bad
The text "Two-Factor Authentic..." is truncated for no good reason, and its counterpart in the next column isn't correctly vertically aligned with it.
-
Change password UI is rough
The heading "Change Password." is inconsistently capitalised (on other pages like "Log in." and "Forgot your password?" we don't capitalise the first letter of each word). The subheading, "Change Password Form", is completely pointless. Suffixing headings like "Change Password." with period characters is weird and ugly in my option, though that's just a matter of personal preference.
-
The account management page is hard to discover
To reach it, you have to click the part of the heading that says "Hi [username]!". There's no clear indication that this is how to manage your account.
-
When using confirmation URLs, the registration flow provides no indication of what's going on
If you set up account confirmation as per the docs, then when the user registers an account, they just get redirected back to the home page. They are not logged in, and there's no message to say their registration succeeded. It would be nice to display some sort of message like "Please check your email and click the link we sent to you.", otherwise the user may think their registration was rejected.
-
Login failed message is unhelpful
When you enter the wrong username or password, it says "Login attempt failed", without indicating whether it's a bad username or password. I know from reading the code that this is deliberate, but I don't know what sort of benefit it's supposed to provide. An attacker who wants to know whether a given username is registered can easily find out (just try to register a new account with it), so why withhold genuinely useful information from legit users?
-
Account-not-confirmed error message makes little sense
If you try to log in before confirming your account, it says "You must have a confirmed email to log in". That won't make any sense to normal users. What's a "confirmed email"? A better message would be "Please check your email and click the link we sent to you."
-
No way to resend confirmation email
If you somehow didn't receive (or accidentally deleted, etc.) your confirmation email, then your account is dead forever, because there's no way to resend it. It's worse still if v1 of your site didn't implement confirmation emails, but v2 does, because then all existing users lose their accounts.
-
Set password page when you login with external authentication provider
Delete this line as it looks ugly in the markup: https://github.com/aspnet/Templates/blob/dev/src/Rules/StarterWeb/IndividualAuth/Views/Manage/SetPassword.cshtml#L6
Copied from original issue: aspnet/Templates#551