Вполне хорошее решение - проверять права доступа в onEnter. А для чего вам понадобились кукис (касаемо авторизации)? Токены лучше всего хранить в localstorage и синхронизировать с вашим store.
Сгруппируйте роуты, для которых нужна авторизация и ставьте коллбэк туда:
<Route path="/" component={App}>
<Route onEnter={checkAuth}>{/* Auth routes */}</Route>
{/* Home page route */}
<IndexRoute component={Home}>
{/* Other public routes /*}
<Route path="about" component={AboutPage} />
</Route>