Skip to content
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

[FEATURE] Replace passwords with one-time password #314

Open
Nonononoki opened this issue Sep 7, 2023 · 3 comments
Open

[FEATURE] Replace passwords with one-time password #314

Nonononoki opened this issue Sep 7, 2023 · 3 comments
Labels
backend enhancement New feature or request frontend help wanted Extra attention is needed
Milestone

Comments

@Nonononoki
Copy link
Contributor

Nonononoki commented Sep 7, 2023

Description: When logging in using email, the user now requests an OTP instead of entering their password. The OTP is sent via email.

Benefits:
User does not need to remember their password.
OTP is much harder to crack than a static password.
No more CAPTCHAs :)

Downsides:
Reliance on mail server. If it ever crashes users won't be able to login anymore.

TODO:
Remove password field from user.
Remove all CAPCHA and their handling.
Remove password related classes and services (like resetting).
Add OTP table in DB and change authentication.
OTP should be randomly generated alphanumeric characters with the length of 9(?)
User OTP data should be cleared once user logs in or after 10 minutes.
Also adjust authentication in alovoa-expo.

Note: Password based authentication should still be around for a while (not web frontend) for a transition period.

@Nonononoki Nonononoki added enhancement New feature or request help wanted Extra attention is needed frontend backend labels Sep 7, 2023
@Nonononoki Nonononoki pinned this issue Sep 7, 2023
@Nonononoki
Copy link
Contributor Author

Nonononoki commented Sep 7, 2023

Currently the only way to differentiate a user that uses email and one that uses social login in their password (is null on social login). A new column must be added to the user table when removing the password column.

CAPTCHAs should still used be used in the contact form to prevent spam.

@Nonononoki Nonononoki changed the title [FEATURE] Replace passwords with one-time password. [FEATURE] Replace passwords with one-time password Sep 7, 2023
@rugk
Copy link

rugk commented Oct 15, 2023

I am against this feature, at least as long as it is obligatory. When using password managers, a password is much more convenient than a mail link I have top click each each time.

Optional is fine though.

@ip6li
Copy link

ip6li commented Nov 26, 2023

Simply solved by patched SecurityConfig.java on my Alovoa fork (see branch cf-full-featured): I delegated that requirement to my private OpenID/Connect provider (Keycloak). On my test environment Alovoa users can use their credentials also for a Matrix server (Synapse + Element) as a true single sign-on solution.

Also see #291

BTW: If s.o. does not know Keycloak, it is an open source OpenID/Connect identity provider solution. Official Docker image is available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend enhancement New feature or request frontend help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants