Skip to content

Releases: Bubka/2FAuth

v5.4.3

27 Nov 14:02
Compare
Choose a tag to compare

Fixed

  • issue #408 Deleted icon is back after saving from the advanced form
  • issue #417 Login page does not load after v5.4.1 update
  • issue #418 Opening of the footer menu submits the advanced form
  • issue #420 QR codes are cropped on small screens
  • issue #421 Freeze when switching to Manage mode
  • issue #423 Icon for accounts without an icon doesn't exist

Changed

  • CSS styles are no longer loaded from tailwindcss.com in the /up view

v5.4.2

18 Nov 12:12
Compare
Choose a tag to compare

Changed

  • CSP has been turned off (for now) since it breaks the app under Google Chrome. (#417)

v5.4.1

17 Nov 22:53
Compare
Choose a tag to compare

Security release

  • Fix XSS & SSRF vulnerabilities (thx to the XBOW team).
  • Content Security Policy is now available and enable by default. CSP helps to prevent or minimize the risk of certain types of security threats.
    If CSP is already enable on your server, you can set the CONTENT_SECURITY_POLICY environment variable to false to disable it at 2FAuth level.

v5.4.0

09 Nov 17:14
Compare
Choose a tag to compare

Changed

  • The links in the footer (Settings, [Admin,] Sign out) have been replaced by the email address of the logged in user. Clicking on this email shows a navigation menu containing the links that were previously visible in the footer. The former display is still available if you don't like the new one, just uncheck the new Show email in footer user option in Settings. (#404)

Added

  • Administrators can now configure 2FAuth to register 2FA icons in the database (see the new Store icons to database setting in the admin panel). When enabled, existing icons in the local file system are automatically registered in the database. These files are retained and then used for caching purposes only. 2FAuth will automatically re-create cache files if they are missing, so you only have to consider the database when backing up your instance. When disabled, 2FAuth will check that all registered icons in the database have a corresponding local file before flushing out the db icons table. (#364).
  • The ability to export 2FA accounts as a list of otpauth URIs (#386).

Fixed

  • Part of the content of some pages (such as the error page) could be hidden by the footer on small screens.

API [1.6.0]

  • New otpauth query parameter for the GET operation of path /api/v1/twofaccounts/export to force data export as otpauth URIs instead of the 2FAuth json format.

v5.3.2

27 Oct 06:52
Compare
Choose a tag to compare

Fixed

  • issue #402 Error asking me to log out when using multiple devices, pressing back logs me in anyway

v5.3.1

12 Oct 18:29
Compare
Choose a tag to compare

Fixed

  • issue #396 PROXY_HEADER_FOR_IP not working as intended
  • issue #397 Base table or view not found: 1146 Table '2fauth.jobs' doesn't exist
  • issue #399 Cannot set CACHE_DRIVER and SESSION_DRIVER to database

v5.3.0

27 Sep 13:27
Compare
Choose a tag to compare

Added

  • The /up endpoint for health checks (#271).
  • A user preference to close the on-screen OTP after a predefined delay
  • A user preference to automatically register a 2FA account immediately after a QR code scan. When enabled, there is no need to click the Save button anymore to save the account to the database.
  • An admin setting to make SSO the only authentication method available (does not apply to admins). (#368).
  • The ability to assign a 2FA account to a specific group directly from the advanced form (#372).
  • A new Auth tab in the admin panel to gather settings related to authentication
  • Proxy support for the OpenID connector (using PROXY_FOR_OUTGOING_REQUESTS), thanks to @rstefko (PR #367)

New env vars

A lot of new environment variables are available thanks to the Laravel 11 upgrade. They give more control over various features of the application:

  • ARGON_THREADS: Number of threads that Argon2 will use to compute a hash.
  • ARGON_TIME: Maximum amount of time it may take to compute an Argon2 hash.
  • ARGON_MEMORY: Maximum memory (in kibibytes) that may be used to compute an Argon2 hash.
  • DB_CHARSET: The character set of the database.
  • DB_COLLATION: The collation of the database.
  • HASH_DRIVER: The hash algorithm used to hash user passwords.
  • LOG_STACK: The stack of log channels used when the log channel is set to stack.
  • LOG_DAILY_DAYS: Number of log files to generate/rotate when using the daily log channel.
  • LOG_SLACK_USERNAME: The name of the user sending the log messages when using the slack log channel.
  • LOG_SLACK_EMOJI: The Emoji code of the emoji used to illustrate log messages when using the slack log channel.
  • LOG_SYSLOG_FACILITY: The syslog facility that provides a rough clue of where in a system the message originated.
  • SESSION_TABLE: Name of the table to be used to store sessions when using the database session driver.
  • SESSION_ENCRYPT: Whether or not session data are encrypted before it is stored.

Please refer to the Configuration doc to find out when and how to use them.

Changed

  • The Service data field is now encrypted in the database (#365).
  • Upgrade to Laravel 11

Fixed

API [1.5.0]

  • New group_id property for POST and PUT operations of the /api/v1/twofaccounts path

v5.2.0

29 May 14:27
Compare
Choose a tag to compare

2FAuth v5.2 offers a new notification feature. Each user can now decide whether they want to receive an email after a successful login from a new device, or after a failed login.

For now, both notifications are disabled by default. Why this choice when this feature increases security? Because if the email configuration of your 2FAuth instance is not set up correctly, such login attempts will take a while (until all email sending attempts have failed).

If you never set up email sending on your instance, do it. It is the only way to recover your account, whether you use a password or a passkey to authenticate. To help you in this task, all required environment variables are described here. Since v5.1, administrators also have access to a test email button to validate the email configuration from the UI.

Notifications will be enabled by default in a future version.

Last but not least :

⚠️ This version drops PHP 8.1 support ⚠️

Added

  • When installed, 2FAuth now offers shortcuts to common actions.
  • User authentication logs (See user management pages in the admin area).
  • Two user preferences to control the notifications sent when authentication events occur.
  • A user preference to set the timezone applied to dates and times displayed in the app.

New env vars

  • APP_TIMEZONE: The timezone applied to dates and times recorded to database (doc).
  • AUTHENTICATION_LOG_RETENTION: The authentication log retention time, in days (doc).
  • PROXY_HEADER_FOR_IP: Name of the HTTP header sent by a reverse proxy to pass the original visitor IP address. (doc).

Changed

  • MAIL_DRIVER env var renamed to MAIL_MAILER.
    This is not a breaking change as the former name is still supported. This is just to stick to Laravel defaults.
  • NGINX server now also listens to ipv6 in Docker image (#336).

Fixed

  • issue #192 DB_DATABASE path not respected by entrypoint script
  • issue #244 gauth qr code can't be imported
  • issue #255 Only one Webauthn Device functioning
  • issue #295 Add support for PHP 8.3
  • issue #331 Last admin can demote to user, leaving the instance administratorless

API [1.4.0]

  • /api/v1/users/{id}/authentications GET path added (doc).

v5.1.1

21 Mar 17:50
Compare
Choose a tag to compare

Fixed

  • issue #326 Admin panel not working when using security device
  • issue #327 "Keep SSO registration enabled" is not saved

v5.1.0

16 Mar 10:59
Compare
Choose a tag to compare

Hey Administrators, this release is for you, a brand new Admin Panel has arrived.

With this dedicated space, you will be able to manage admin settings previously located in the User Options view (like encryption, version check, registration). Some new settings are available to better control registration (email restrictions and self-ruling SSO) and two new features are coming: Email Configuration Testing and Cache Clearing.

But the real newness is the user management. All registered accounts are now searchable, the administrator role can be granted to any user, user access (password, personal token, security key/passphrase) can be revoked and you may also delete existing users or even create new ones.

Note that the 2FAuth API has been updated with the new paths related to user management.

Added

  • A user preference to clear search results after copying a code (#300).
  • A user preference to return to default group after copying a code (#300).
  • The ability to submit a migration text directly in the Import view besides TXT files & QR codes loading (#288).
  • An administrator setting to restrict registration to a limited range of email addresses (#250).
  • An administrator setting to keep user registration via SSO enabled (#317).
  • A test email feature to ensure email sending works as expected (#307).
  • A Clear cache feature to... clear the cache, but from the browser (#316).
  • Hindi translation, thanks to @saxenas

Changed

  • User preferences & Environment variables have been moved from the About view to the new Administration panel (#303).
  • Spaces are now removed from the Secret when filling out the Advanced form (#311).

Fixed

  • issue #303 "Already authenticated" error message
  • issue #305 403 Forbidden {message: "unauthorized"}
  • issue #315 "Check now" button is untranslatable
  • issue #320 app/Policies/OwnershipTrait contains a bug, i think

API [1.3.0]

  • /api/v1/users paths added to manage registered users
  • oauth_provider property to the response body of /api/v1/user GET path