diff --git a/changelog.md b/changelog.md index 302d8d79..ba2f6df7 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,13 @@ # Laravel Change Log +## Version 2.1.0 + +- Fix: Authentication cookies are not deleted properly when custom domains or paths are used. + +### Upgrading from 2.0.9 + +- Replace **laravel** directory. + ## Version 2.0.9 - Minor: Made "timestamps" method in Eloquent model protected instead of private. diff --git a/laravel/auth.php b/laravel/auth.php index 0e8d3d83..da5bd080 100644 --- a/laravel/auth.php +++ b/laravel/auth.php @@ -206,9 +206,16 @@ class Auth { static::$user = null; - Cookie::forget(Auth::user_key); + $config = Config::get('session'); - Cookie::forget(Auth::remember_key); + extract($config, EXTR_SKIP); + + // When forgetting the cookie, we need to also pass in the path and + // domain that would have been used when the cookie was originally + // set by the framework, otherwise it will not be deleted. + Cookie::forget(Auth::user_key, $path, $domain, $secure); + + Cookie::forget(Auth::remember_key, $path, $domain, $secure); IoC::core('session')->forget(Auth::user_key); } diff --git a/laravel/cookie.php b/laravel/cookie.php index 713a97bd..f478174c 100644 --- a/laravel/cookie.php +++ b/laravel/cookie.php @@ -128,11 +128,15 @@ class Cookie { * Delete a cookie. * * @param string $name + * @param string $path + * @param string $domain + * @param bool $secure + * @param bool $http_only * @return bool */ - public static function forget($name) + public static function forget($name, $path = '/', $domain = null, $secure = false, $http_only = false) { - return static::put($name, null, -2000); + return static::put($name, null, -2000, $path, $domain, $secure, $http_only); } } \ No newline at end of file diff --git a/public/index.php b/public/index.php index 8f8f4a04..9b12abc2 100644 --- a/public/index.php +++ b/public/index.php @@ -3,7 +3,7 @@ * Laravel - A PHP Framework For Web Artisans * * @package Laravel - * @version 2.0.9 + * @version 2.1.0 * @author Taylor Otwell * @link http://laravel.com */