Laravel (JWT):
Установка и настройка пакета
jwt-auth прекрасно описан. Что насчет контроллера - CTRL + C и CTRL + V. Также не забудьте про CORS.
Vue:
Ходить далеко тоже не нужно. Есть прекрасный пакет
vue-auth, который сам сохраняет токен в localStorage, вытаскивает и вставляет в заголовок при запросах. Интегрируется это добро за 5 мин.
И собственно отображение только авторизованным пользователям:
<span v-if="$auth.check()">текст для авторизованного</span>
Подсказка, если будете работать с этими пакетами:
Vue-auth выдергивает токен из заголовка, а не из тела ответа. А в документации jwt-auth в контроллере токен вставляется в тело ответа. Нужна небольшая модификация контроллера:
protected function respondWithToken($token)
{
return response()->json([
'status' => 'success',
])->header('Authorization', $token);
}