-
Notifications
You must be signed in to change notification settings - Fork 7
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
feat!: drop support for php 8.0 and nextcloud <= 29 #575
Conversation
Oh god, what have we done?! Tests fail because the already updated version of the webauthn dependency from server is loaded. So we need to drop PHP, update the dependency, fix deprecations and fix tests all at the same time. |
fe7116b
to
c75d353
Compare
8e16364
to
4f1cca9
Compare
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
339a6a7
to
f3d6509
Compare
6b4e2ee
to
4eb3627
Compare
Adapt WebAuthn code in the backend. Replace custom (non-compliant) WebAuthn code in the frontend with @simplewebauthn/browser analogous to the changes in the server repository. Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
4eb3627
to
18f7f50
Compare
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.
Things I tested
U2F migrator
- Set up a fresh Nc 23 instance.
- Install (deprecated) twfactor_u2f on Nc 23.
- Switch to a Nc master instance.
- Copy U2F registration table to my Nc master instance.
- Import real U2F data provided by Christoph.
- Run the migrator
- ✅ No errors and entries were migrated.
DB migrations
- Set up a fresh Nc 23 instance.
- Install the most recent version of twofactor_webauthn before we took over: https://github.com/nextcloud/twofactor_webauthn/releases/tag/v0.2.15
- Enable the app and add 2 keys.
- Switch to a Nc master instance.
- Install this branch and run all migrations.
- Delete all twofactor_webauthn migrations from the DB and remove the registration table.
- Import all twofactor_webauthn migrations and the registration table from the Nc 23 instance.
- Run all migrations on the master instance:
occ migrations:migrate twofactor_webauthn
- ✅ All imported registrations from the Nc 23 instance were migrated without errors.
- ✅ Logging in with the imported devices still works.
Summary
The switch from Ramsey\Uuid\Uuid
to Symfony\Component\Uid\Uuid
did not break anything despite having to modify old database migrations.
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.
Required for #574 and #573
Fix #573
This has to be done because we updated
web-auth/webauthn-lib
in server and we have to update it here too. It only supports PHP >= 8.1.Ref nextcloud/server#44761