All Versions
16
Latest Version
Avg Release Cycle
167 days
Latest Release
53 days ago

Changelog History
Page 1

  • v2.4.1

    May 18, 2020

    🛠 Fixed

    🛠 Fix a security issue where a user could brute-force a password based on differing responses that are returned from the site when the incorrect password is entered versus the correct password.

    This comes with a slight change in behavior to minimize differences between the code paths of a correct vs incorrect password: The "attempt" time is always ⬆️ bumped in the DB no matter if it was the right or wrong password when being rejected for locking.

  • v2.4.0

    February 07, 2020

    ➕ Added

    • ➕ Add config option MailNoGoroutine which prevents the modules from using a goroutine to launch the mailer. This is important because the context that it passes from the http request will be cancelled in a race condition and will affect mailer implementations that honor context cancellation.
  • v2.3.2

    January 30, 2020

    🛠 Fixed

    • 🛠 Fix many "lint" type errors (thanks @frederikhors)
  • v2.3.1

    January 28, 2020

    ➕ Added

    • Logout events (Before & After) for deletion of a users session (thanks @abelkuruvilla)

    🔄 Changed

    • 🔀 Calls to Email() will now merge ctx data from the passed in ctx so it's available in the template, just like calls to Render() (thanks @Gys)

    🛠 Fixed

    • 🛠 Fix one of the mocks that were no longer in sync with an interface
  • v2.3.0

    March 30, 2019

    ➕ Added

    • ➕ Add VerifyPassword method to hide the bcrypt implementation details when authboss consumer code wants to verify the password out of band.
    • 👍 ClientStateResponseWriter now supports the http.Hijacker interface if the underlying ResponseWriter does (thanks @tobias-kuendig)
    • DelAllSession is a new method called both by Expire and Logout (in addition to still calling DelKnownSession etc. as they do now) to ensure that conforming implementations of ClientStateReadWriter's delete all keys in the session.
    • Config.Storage.SessionWhitelistKeys has been added in order to allow users to persist session variables past logout/expire.

    🛠 Fixed

    • 🛠 Fix bug where user's expiration time did not start until their first request after login.
    • 🛠 Fix bug where expired users could perform one request past their expiration
    • 🛠 Fix bug with missing imports (thanks @frederikhors)
    • 🛠 Fix bug with inverted remember me checkbox logic
    • 🛠 Fix validation not happening when user commences recovery

    🗄 Deprecated

    • 🗄 Deprecated DelKnownSession for DelAllSession. DelAllSession should be implemented by existing ClientStateReadWriters in order to prevent session values from leaking to a different user post-logout/expire.
  • v2.2.0

    December 16, 2018

    ➕ Added

    • ➕ Add e-mail confirmation before 2fa setup feature
    • ➕ Add config value TwoFactorEmailAuthRequired
    • ➕ Add a more flexible way of adding behaviors and requirements to authboss.Middleware. This API is at authboss.Middleware2 temporarily until we can make a breaking change.

    🛠 Fixed

    • 🛠 Fix a bug where GET /login would panic when no FormValueRedirect is provided. (thanks @rarguelloF)
    • 🛠 Fix a bug where lowercase password requirements in the default rules implementation were not being checked correctly (thanks @rarguelloF)
    • 🛠 Fix a bug in remember where a user would get half-authed even though they were logged in depending on middleware ordering.
    • 🛠 Fix a bug where if you were using lock/remember modules with 2fa they would fail since the events didn't contain the current user in the context as the auth module delivers them.
    • 🛠 Fix a bug with 2fa where a locked account could get a double response

    🗄 Deprecated

    • 👀 Deprecate the config field ConfirmMethod in favor of MailRouteMethod. See documentation for these config fields to understand how to use them now.
    • 🗄 Deprecate Middleware/MountedMiddleware for Middleware2 and MountedMiddleware2 as these new APIs are more flexible. When v3 hits (Mounted)Middleware2 will become just (Mounted)Middleware.
    • 🗄 Deprecate RoutesRedirectOnUnauthed in favor of ResponseOnUnauthed
  • v2.1.1

    December 10, 2018

    🔒 Security

    • 🛠 Fix a bug with the 2fa code where a client that failed to log in to a user account got SessionTOTPPendingPID set to that user's pid. That user's pid was used as lookup for verify() method in totp/sms methods before current user was looked at meaning the logged in user could remove 2fa from the other user's account because of the lookup order.
  • v2.1.0

    October 28, 2018

    ➕ Added

    • ➕ Add Config option to defaults.HTTPRedirector to allow it to coerce redirect response codes to http.StatusOK to help make more regular APIs.
    • ➕ Add Config option for MailRoot. This is a URL that overrides the typical URL building using Root/MountPath that recover and confirm do to enable creating mail links to a different location than where the API is hosted.
    • ➕ Add a configuration option that allows confirm to change the method type it expects since in an API setting a GET is strange as there is body details.

    🔄 Changed

    • 0️⃣ defaults.HTTPRedirector now always responds with a "status": "success" when responding to an API unless there's a failure.
    • 0️⃣ defaults.JSONRenderer now renders a "status": "success" or "status": "failure" based on the presence of known failure keys (configurable, defaults to standard Authboss HTMLData errors).

    🛠 Fixed

    • 🛠 Fix a bug where content-types like 'application/json;charset=utf-8' would not trigger api responses in the default responder.
    • 🛠 Fix LoadCurrentUser error handling, it was swallowing errors when users were not logged in, changed to be consistent, now returns ErrUserNotFound just like CurrentUser.
    • 🛠 Fix a bug where EventAuth and EventAuthFailure were not being fired in the 2fa modules which would stop users from becoming locked on 2fa failures or logging in without being confirmed.
  • v2.0.0

    September 03, 2018

    ➕ Added

    • ➕ Add sms2fa and totp2fa packages so users can use two factor authentication
    • ➕ Add twofactor package to enable 2fa recovery codes for sms2fa and totp2fa
    • ➕ Add OTP module so users can create one time passwords and use them to log in.
    • ➕ Add more documentation about how RegisterPreserveFields works so people don't have to chase the godocs to figure out how to implement it.

    🔄 Changed

    • authboss.Middleware now has boolean flags to provide more control over how unathenticated users are dealt with. It can now redirect users to the login screen with a redirect to the page they were attempting to reach and it can also protect against half-authed users and users who have not authenticated with two factor auth.

    🛠 Fixed

    • Ensure all uses of crypto/rand.Read are replaced by io.ReadFull(rand.Reader) to ensure that we never get a read that's full of zeroes. This was a bug present in a uuid library, we don't want to make the same mistake.
  • v2.0.0-rc6

    August 16, 2018
    • LoadClientStateMiddleware no longer panics when LoadClientState fails. Instead it logs error messages and gives a 500 server error to users instead of returning no response from the server at all due to panic.

    🛠 Fixed

    • 🛠 Fix a bug where LoadClientState could return a nil request if the state returned nil instead of falling through.
    • 🛠 Fix Middlewares link in README
    • 🛠 Fix error message when forgetting authboss.LoadClientStateMiddleware to be a bit more indicative of what the problem might be.