Skip to content

Instantly share code, notes, and snippets.

@blogcacanid
Created November 9, 2020 06:32
Show Gist options
  • Save blogcacanid/1a6e3a9695a276259ccd824d6149e3b9 to your computer and use it in GitHub Desktop.
Save blogcacanid/1a6e3a9695a276259ccd824d6149e3b9 to your computer and use it in GitHub Desktop.
App.vue Authentication JWT Vue Lumen 7
<template>
<div id="app">
<nav class="navbar navbar-expand navbar-dark bg-dark">
<div class="container">
<a href class="navbar-brand" @click.prevent>
<img alt="Vue logo" src="./assets/logo.png" width="32">
VUE LOGIN JWT
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<router-link to="/home" class="nav-link">
<!-- <font-awesome-icon icon="home" /> -->
Home
</router-link>
</li>
<li v-if="!currentUser" class="nav-item">
<router-link to="/register" class="nav-link">
<!-- <font-awesome-icon icon="user-plus" /> -->
Register
</router-link>
</li>
<li v-if="!currentUser" class="nav-item">
<router-link to="/login" class="nav-link">
<!-- <font-awesome-icon icon="sign-in-alt" /> -->
Login
</router-link>
</li>
<li v-if="currentUser" class="nav-item">
<router-link to="/profile" class="nav-link">
<font-awesome-icon icon="user" />
{{ currentUser.username }}
</router-link>
</li>
<li v-if="currentUser" class="nav-item">
<a class="nav-link" href @click.prevent="logOut">
<!-- <font-awesome-icon icon="sign-out-alt" /> -->
LogOut
</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="container">
<router-view />
</div>
</div>
</template>
<script>
export default {
computed: {
currentUser() {
return this.$store.state.auth.user;
}
},
methods: {
logOut() {
this.$store.dispatch('auth/logout');
this.$router.push('/login');
}
}
};
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment