Releases: auth0/laravel-auth0
7.5.2
7.5.1
7.5.0
This release includes support for Laravel 10, and major improvements to the internal state handling mechanisms of the SDK.
Added
— Support for Laravel 10 #349
— New Auth0\Laravel\Traits\Imposter trait to allow for easier testing. Example usage
— New Exception types have been added for more precise error catching.
Changed
The following changes have no effect on the external API of this package, but may affect internal usage.
— Guard will now more reliably detect changes in the underlying Auth0-PHP SDK session state.
— Guard will now more reliably sync changes back to the underlying Auth0-PHP SDK session state.
— StateInstance concept has been replaced by new Credentials entity.
— Guard updated to use new Credentials entity as primary internal storage for user data.
— Auth0\Laravel\Traits\ActingAsAuth0User was updated to use newCredentials entity.
— The HTTP middleware have been refactored to more clearly differentiate between token and session based identities.
— The authenticate, authenticate.optional and authorize.optional HTTP middleware now support scope filtering, as authorize already did.
Fixed
— A 'Session store not set on request' error could occur when downstream applications implemented unit testing that use the Guard. This should be resolved now.
— Guard would not always honor the provider configuration value in config/auth.php.
— Guard is no longer defined as a Singleton to better support applications that need multi-guard configurations.
Maintenance
— Upgraded test suite to use PEST 2.0 framework.
— Updated test coverage to 100%.
Important Notes
1. Changes to user() behavior
This release includes a significant behavior change around the user() method of the Guard. Previously, by simply invoking the method, the SDK would search for any available credential (access token, device session, etc.) and automatically assign the user within the Guard. The HTTP middleware have been upgraded to handle the user assignment step, and user() now only returns the current state of user assignment without altering it.
A new property has been added to the config/auth0.php configuration file: behavior. This is an array. At this time, there is a single option: legacyGuardUserMethod, a bool. If this value is set to true, or if the key is missing, the previously expected behavior will be applied, and user() will behave as it did before this release. The property defaults to false.
2. Changes to Guard and Provider driver aliases
We identified an issue with using identical alias naming for both the Guard and Provider singletons under Laravel 10, which has required us to rename these aliases. As previous guidance had been to instantiate these using their class names, this should not be a breaking change in most cases. However, if you had used auth0 as the name for either the Guard or the Provider drivers, kindly note that these have changed. Please use auth0.guard for the Guard driver, and auth0.provider for the Provider driver. This is a regrettable change, but was necessary for adequate Laravel 10 support.
Thanks to our contributors for this release: taida957789
7.4.0
7.3.0
Added
Fixed
- fix:
env()incorrectly assignscookieExpiresto astringvalue #332 (evansims) - fix:
Auth0\Laravel\Cache\LaravelCachePool::createItemreturning a cache miss #329 (pkivits-litebit)
7.2.2
7.2.1
Fixed
Auth0\Laravel\Auth0no longer requires a session configuration for stateless strategies, restoring previous behavior. #317 (evansims)- The SDK now requires
^3.0of thepsr/cachedependency, to accommodate breaking changes made in the upstream interface (typed parameters and return types) for PHP 8.0+. #316 (evansims)
7.2.0
Laravel.SDK.7.2.mp4
Thank you to tonyfox-disguise, jeovajr and nie7321 for their contributions to this release.
Changed
Auth0\Laravel\Store\LaravelSessionhas been added as the defaultsessionStorageandtransientStorageinterfaces for the underlying Auth0-PHP SDK. The SDK now leverages the native Laravel Session APIs by default. #307 (evansims)¹Auth0\Laravel\Cache\LaravelCachePoolandAuth0\Laravel\Cache\LaravelCacheItemhave been added as the defaulttokenCacheandmanagementTokenCacheinterfaces for the underlying Auth0-PHP SDK. The SDK now leverages the native Laravel Cache APIs by default. #307 (evansims)Auth0\Laravel\Auth\Guardnow supports theviaRemembermethod. #306 (tonyfox-disguise)Auth0\Laravel\Http\Middleware\Stateless\Authorizenow returns a 401 status instead of 403 for unauthenticated users. #304 (jeovajr)- PHP 8.0 is now the minimum supported runtime version. Please review the README for more information on support windows.
¹ This change may require your application's users to re-authenticate. You can avoid this by changing the sessionStorage and transientStorage options in your SDK configuration to their previous default instances of Auth0\SDK\Store\CookieStore, but it is recommended you migrate to the new LaravelSession default.