-
0.23.0 Stable
released this
2021-01-25 10:56:36 +01:00 | 250 commits to develop since this releaseResolved issues : https://eternae.ink/arisu/swaf/milestone/2
Major features
- Added password authentication and registration
- Identifier is now either a username (with password) or an email (with magic link)
- Authentication factors was reworked a bit to prepare for multi-factor authentication (will come in the future) - see
AuthMethod
interface - Added email address management to allow email recovery.
- A user have a main email which is their contact email
- When a user doesn't have any email, a warning is displayed (can be turned off via app config)
- Sessions are now non-persistent by default. The user can choose to make it persistent at login with the new checkbox.
- RedirectBackComponent is now PreviousUrlComponent and now has two separated functions:
- getPreviousUrl(): referer header || session saved previous page || null
- getIntendedUrl(): req.query.redirect_uri?.toString() || null
Breaking changes
- Project was renamed to
swaf
- Removed connection parameter from Migration
install
,rollback
andquery
methods FixUserMainEmailRelation
andDropNameFromUsers
migrations are deprecated and must be replaced byDummyMigration
sController.validate
was moved toValidator.validate
- Many classes were moved, please update your imports
- Validation errors throw 400 instead of 401 (json, text)
RedisComponent
doesn't use connect-redis anymore and instead implements its own store- When using magic links, two new migrations must be performed:
AddUsedToMagicLinksMigration
,MakeMagicLinksSessionNotUniqueMigration
Other changes
- Changed logging format
- Log IP addresses
- Added requestId to recognize each log's request
- Throwing a single
ValidationError
is now automatically turned into aValidationBag
- Throttler jail triggers are now logged
- Many bug fixes (see commit log)
- Added a development test app for swaf (not for apps that use swaf (yet))
- There is now a total of 62 tests
Downloads
- Added password authentication and registration