Releases: auth0/laravel-auth0
7.12.0
7.11.0
Added
- Significant performance improvements by eliminating redundant user queries.
- Compatibility support for Laravel Telescope. See docs/Telescope.md for more information.
- A refactored Events API has been introduced. See docs/Events.md for more information.
AUTH0_SESSION_STORAGEandAUTH0_TRANSIENT_STORAGEnow support acookievalue to enable the native Auth0-PHP SDK cookie session handler. See docs/Cookies.md for more information.
Fixed
- Addressed an issue where, under certain circumstances, the first user authentication attempt after a session invalidation could fail.
Changed
- Session regeneration/invalidation has been refactored.
- Discarded sessions are now deleted when they are invalidated by the SDK, rather than wait for Laravel to garbage collect.
- Session storage has been refactored. Session data is now stored as a JSON array in a single
auth0_sessionentry in the Laravel session store, rather than in multiple keys.
Documentation
- A demonstration Eloquent user model and repository implementation has been added to docs/Eloquent.md.
- A new docs/Sessions.md document has been added for guidance on the various session driver options available.
7.10.1
7.10.0
Added
- Organization Name support added for Authentication API and token handling ¹
Changed
- Guards are now registered with the priority middleware list.
- Bumped
auth0-phpdependency version range to^8.7. - Updated telemetry to indicate new
laravelpackage name (previouslylaravel-auth0.)
Fixed
- Addressed issue where placeholder
AUTH0_dotenv values could erroneously be interpreted as true configuration values.
Note
¹ To use this feature, an Auth0 tenant must have support for it enabled. This feature is not yet available to all tenants.
7.9.1
7.9.0
7.8.1
7.8.0
Good news, Laravel Artisans! Auth0 is proud to announce the availability of v7.8 of our Laravel SDK! 🎉 This is a substantial release that includes features long requested by developers, including fully separate and independently configurable authentication and authorization guards, support for Laravel's auth and can middleware, and Laravel's Gates and Policies APIs.
We've made some exciting changes that remove nearly all the boilerplate and setup required to integrate the SDK. Short of configuring your account details, the SDK can now work largely "out of the box," as it will silently register its guards, middleware, and authentication routes. Speaking of configuration — the SDK can now be configured entirely using the Auth0 CLI!
We've updated our authentication and authorization quickstarts to reflect the simplified setup process. Of course, the updated quickstart code is available here on GitHub, as well.
Added
-
This release adds support for authenticating using Pushed Authorization Requests.
-
This release introduces two new Authentication Guards which provide a streamlined integration experience for developers that need to simultaneously support both session-based authentication and token-based endpoint authorization in their Laravel applications.
Guard Class Description auth0.authenticatorAuth0\Laravel\Auth\Guards\AuthenticationGuardSession-based authentication. auth0.authorizerAuth0\Laravel\Auth\Guards\AuthorizationGuardToken-based authorization. -
These guards are compatible with Laravel's Authentication API and support the standard
authmiddleware. -
These guards are compatible with Laravel's Authorization API and support the standard
canmiddleware, and theGuardfacade, and work with the Policies API. -
3 new pre-built Guards are available:
scopeandpermission, as well as a dynamic*:*. This enables you to verify whether the user's access token has a particular scope or (if RBAC is enabled on the Auth0 API) a particular permission. For exampleGate::check('scope', 'email')orRoute::get(/*...*/)->can('read:messages'). -
The SDK now automatically registers these guards to Laravel's standard
webandapimiddleware groups, respectively. Manual Guard setup inconfig/auth.phpis no longer necessary. -
The SDK now automatically registers the Authentication routes. Manual route setup in
routes/web.phpis no longer necessary. -
2 new routing Middleware have been added:
Auth0\Laravel\Http\Middleware\AuthenticatorMiddlewareandAuth0\Laravel\Http\Middleware\AuthorizerMiddleware. These are automatically registered with your Laravel application, and ensure the Auth0 Guards are used for authentication forwebroutes and authorization forapiroutes, respectively. This replaces the need for theguardmiddleware or otherwise manual Guard assignment in your routes.
Improved
-
We've introduced a new configuration syntax. This new syntax is more flexible and allows for more complex configuration scenarios, and introduces support for multiple guard instances. Developers using the previous syntax will have their existing configurations applied to all guards uniformly.
-
The SDK can now configure itself using a
.auth0.jsonfile in the project root directory. This file can be generated using the Auth0 CLI, and provides a significantly simpler configuration experience for developers. -
The previous
auth0.guardGuard (Auth0\Laravel\Auth\Guard) has been refactored as a lightweight wrapper around the newAuthenticationGuardandAuthorizationGuardguards.
Notes
- This is a significant refactoring of the SDK's codebase, but we have implemented these changes in a manner that should avoid breaking changes.
- We have deprecated the previous
auth0.guard. It will continue to work until the next release, but we recommend migrating toauth0.authorizerand/orauth0.authenticatorfor a better experience. - We have deprecated the previous
auth0.authorize,auth0.authorize.optional,auth0.authenticateandauth0.authenticate.optionalmiddleware. These will continue to work until the next release, but we recommend migrating to the newauth0.authorizerand/orauth0.authenticatorguards for a better experience. These new guards do not require the previous middleware to work, and support Laravel's standardauthandcanmiddleware.
7.7.0
Added
-
Auth0\Laravel\Auth0now has amanagement()shortcut method for issuing Management API calls. (#376) -
Auth0\Laravel\Auth0\Guardnow has arefreshUser()method for querying/userinfoendpoint and refreshing the authenticated user's cached profile data. (#375) -
Auth0\Laravel\Http\Controller\Stateful\Loginnow raises aLoginAttemptingevent, offering an opportunity to customize the authorization parameters before the login redirect is issued. (#382)
Improved
- The
tokenCache,managementTokenCache,sessionStorageandtransientStorageconfiguration values now supportfalseorstringvalues pointing to class names (e.g.\Some\Cache::class) or class aliases (e.g.cache.psr6) registered with Laravel. (#381)
7.6.0
Added
Auth0\Laravel\Http\Middleware\Guard, new middleware that forces Laravel to route requests through a group using a specific Guard. (#362)
Improved
Auth0\Laravel\Http\Middleware\Stateful\Authenticatenow remembers the intended route (usingredirect()->setIntendedUrl()) before kicking off authentication flow redirect. Users will be returned to the memorized intended route after completing their authentication flow. (#364)
Fixed
- legacyGuardUserMethod behaviour should use
$session, not$token(#353)