It takes incredible arrogance to continue using them in order to "improve usability" given all the obvious and common cases where they completely destroy usability. The difficulty for a provider to verify they aren't sending you to a phishing or browser 0day page barely scratches the surface.
And I think that subset is much larger than some would expect.
I sadly can't put my finger on what's so compelling about this, just that my "oh that person should talk to a UX team lead!" meter just went plink
I love them and prefer them to creating yet another account with a password.
It's only annoying if the site is constantly timing you out so that every single visit you need to resend. Why not just use secure cookies to remember the user for say a week?
This... was impossible to do, because by long-pressing on iOS to get the Copy prompt, iOS also goes ahead and opens a preview of the link next to it
That's a yikes from me! So I can sign up on your service as anyone with an Outlook account, without verification?
So while I think what Outlook does here is wrong, what these webpages do is simply a bug that should be fixed and shows a lack of understanding of HTTP.
I think that's a bit too much. Nothing in that suggests that they are breaking anything in the HTTP specification. You're right that GET requests has to be idempotent, but the exchange from the single-time use code you get in email with the API token, is most likely behind a non-GET request (like POST). The HTTP server responds to GET requests with the static assets (HTML/CSS/JS), but then the static assets has JavaScript that calls the POST endpoint for the exchange.
At least that's my guess. I agree it's a bug on their side, and they should fix it. But I think it's more of a UX issue than breaking the protocol.
We found at least one scanning service to be fetching the URL with the user agent of a browser, and executing JavaScript on the page.
A lot of our user interactions could be simpler, but this sort of behaviour led to many things being put behind a "go" button.
I only wonder how long before scanners and search engines start clicking these buttons to activate content on the page so they can scan/index it.
Idempotent != side-effect free
!Idempotent != Reversal of changes
1. You open the link once = your account is verified
2. You open the link twice = your account is still verified
???
1. You open the link once = you're logged in
2. You open the link twice = you're presented with an error that the magic link has already been used.
Request methods are considered "safe" if their defined semantics are essentially read-only; i.e., the client does not request, and does not expect, any state change on the origin server as a result of applying a safe method to a target resource. (RFC 7231, § 4.2.1)
- It's me, let me confirm my address
- I never signed up for this heap of diamonds
Whenever I (not even a bot) click or follow a link from my mailbox, by accident or on purpose, I don't expect that to validate an account for anyone else, but me, intentionally, using a password I know.
We had a handy quick decline and accept button on there so they were auto declining things…
I didn’t hate email until I got into web development….
It was a super basic web form too. Probably the most html markup standard thing we have. Nothing strange about it that could have triggered some sort of strange behavior.
How about having a input field asking for the email again to double check?