-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement email verification #7161
Conversation
…allows resend in error case; redirect to dashboard is missing
… default from 10s to 30d
I implemented the front-end part so that the user can click on a verification link. In the happy path, a success message is shown. Otherwise, an error is shown with a "resend" link. In both cases, the user is directly redirected to the dashboard.
I think, verification links in welcome mails are more likely to be overlooked. Therefore, I'd rather send a dedicated "Please verify" email.
No strong opinion. I think, it could happen directly after sign in. The sooner the better maybe?
I think, this is ok, but I would simply send a new verification email automatically if a sign in fails due to missing verification. This saves the user from an additional click and makes the UI simpler, too. Maybe this needs throttling to avoid that somebody uses WK to spam another email address with verification mails? Another note: In my opinion the verify route should check if the user is already verified as the very first check. Then, a 200 could simply be returned. Otherwise, it can be weird to get a "verification failed" error when clicking on an old link even though one is already verified. |
This has been implemented (although the frontend now misleadingly prints "Successfully verified your email") |
…tion email without being logged in
👍
Yes, we can do that. How would the front-end know about this? Maybe include
I changed it so that there's an error message telling the user to log in (if they tried to click resend without being logged in). If they can log in, they can click the link again. If they cannot log in, an email is resent automatically.
I think, this is okay. The end result for the user is the same: the email is verified. |
Yes
Added this now 👍
Yes, I think that works. For possible frontend changes, do the application.conf settings need to be exposed somwhere (e.g. to say "If you don't verify in X days ...") or are they already automatically available? |
Cool, I added the verification warning now. It appears every time the active user is set (e.g., log in, registration but also on each full page load). Might be a bit annoying, but we really want that the user verifies the email. So, it's fine in my opinion.
Only the |
This is already implemeted. When user data is updated, the email verification is revoked (in the last commit I changed it so it is only invalidated if the email has actually changed
Agreed, I like the button and the old template was only a placeholder. However, wouldn't it make sense to include the link as well? That's something I often see "If the button does not work, use this link". I guess for non-HTML mail clients? |
I just pushed a fix for the confusing toast when verifying the email. Let me know in case anything front-end related needs to happen. |
…nto verify-emails
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Backend LGTM :)
Is it expected that the snapshots are different again now? (May be due to email address changes in the tests? Should I refresh the snapshots again?)
Yes, please refresh. I think it is because of changes in the initial data. |
@fm3 What is the path for merging? Does this need another frontend review to get approval? |
Yes I think that would be helpful. Since tom is currently out of office, maybe @daniel-wer could have a look? I also still see quite a few open checkboxes both in the PR on top and in some of the comments. Do you think that anything of that needs addressing @frcroth ? |
Are docs useful/ necessary? Also opinions on the default application.conf? Maybe:
I think the flow questions are mostly settled now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frontend LGTM. Testing also went very well 👍
- I wasn't able to check what the HTML-rendered email looks like, maybe you could upload a screenshot in this PR or confirm that someone checked that it renders correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
URL of deployed dev instance (used for testing):
Steps to test:
TODO
Once flow is clear, also write about it in docsyarn refresh-all-snapshots
)Issues:
(Please delete unneeded items, merge only when none are left open)