The-NeXT-Project / NeXT-Panel

Next generation proxy service management system (OSS Edition)
https://nextpanel.dev
GNU General Public License v3.0
167 stars 39 forks source link

MFA framework refactor, add support for WebAuthn #26

Closed pplulee closed 5 months ago

pplulee commented 6 months ago

The MFA framework is refactored. Now users can use TOTP and FIDO as MFA credentials. Also, the passkeys login is supported.

A new page has been added for verifying MFA.

The HX-Refresh header seems not working, it does not refresh the page. I saw that many people mentioned this problem in the issues of the HTMX project, but I didn't seem to find a solution.

pplulee commented 6 months ago

The refresh issue has been fixed.

AutisticShark commented 6 months ago

I have sent you an email containing login info for the demo site. I will switch the site to the mfa-refactor branch and do the integration test there.

AutisticShark commented 6 months ago

The demo site has been switched to the mfa-refactor branch and looks good. Nothing is breaking and tbh I am kinda surprised for such a large refactor, good job.

pplulee commented 6 months ago

Thanks for your testing, do you think it is ready to be merged? Or is there anything that can be improved?

AutisticShark commented 6 months ago

Have you tested it with the FIDO key on different types of devices? My current environment might not be the most representative when it comes to end-user experience, you might want to do more testing regards compatibility, etc.

AutisticShark commented 6 months ago

I will do the rebase when it's done, looks like there is no major merge conflict here, just some small changes that need to be made.

pplulee commented 6 months ago

Have you tested it with the FIDO key on different types of devices? My current environment might not be the most representative when it comes to end-user experience, you might want to do more testing regards compatibility, etc.

I have tested the yubikey, mobile and desktop, FIDO and Passkeys work fine with all of them.