I was having a similar issue, granted I didn't document "what" the fix was, rather I just tried a bunch of things, and eventually it started working.
I did have auth set in my controller's __construct, but then later moved all that to the routes.php. I did this based on sample code in Spark/Laravel, figured that approach was to better organize the code.
My routes file looks like:
// Any page that should require authorization.
$router->group(['middleware' => ['auth']], function ($router) {
$router->get('/home', 'ProductsController@show');
$router->get('/dashboard', 'ProductsController@show');
$router->get('/products/download/{key}', 'ProductsController@getDownloadUrl');
});
// Pages that do not require authorization
$router->group(['middleware' => ['web']], function ($router) {
$router->get('/', 'WelcomeController@show');
$router->get('/{page}', 'MarkdownPageController@show');
});
Note, I had moved any auth code from my controller, into my routes file, as above.