Venho trazer a solução de um problema que tive e que acredito que outros terão. Como a versão atual do react-router é a v4(react-router-dom), algumas coisas mudaram. Uma delas foi a remoção da propriedade onEnter, e para contornar esse problema tive que sobrescrever o método render do Router.
Criei uma fução de verificação.
function verifyAuth(component){
if(localStorage.getItem('auth-token') === null){
return <Redirect to="/"/>
} else{
return component;
}
}
e a rota que eu desejo verificar a autorização ficou:
<Route path='/timeline' render={() => { return verifyAuth(<SeuComponent/>) }}/>