Nuxt/examples/auth-jwt/pages/login.vue

36 lines
1001 B
Vue

<template>
<div class="container">
<h1>Sign in to access the secret page</h1>
<div>
<label for="email">
<input id="email" type="email" value="test">
</label>
<label for="password">
<input id="password" type="password" value="test">
</label>
<button @click="postLogin">login</button>
<p>The crendentials are not verified for the example purpose.</p>
</div>
</div>
</template>
<script>
const Cookie = process.client ? require('js-cookie') : undefined
export default {
middleware: 'notAuthenticated',
methods: {
postLogin() {
setTimeout(() => { // we simulate the async request with timeout.
const auth = {
accessToken: 'someStringGotFromApiServiceWithAjax'
}
this.$store.commit('setAuth', auth) // mutating to store for client rendering
Cookie.set('auth', auth) // saving token in cookie for server rendering
this.$router.push('/')
}, 1000)
}
}
}
</script>