Skip to content

Instantly share code, notes, and snippets.

View blogcacanid's full-sized avatar

Rony Chandra Kudus blogcacanid

  • cacan.id
  • Jakarta
View GitHub Profile
@blogcacanid
blogcacanid / Home.vue
Created November 9, 2020 06:31
Home.vue Authentication JWT Vue Lumen 7
<template>
<div class="container">
<header class="jumbotron">
<h3>{{content}}</h3>
</header>
</div>
</template>
<script>
import UserService from '../services/user.service';
@blogcacanid
blogcacanid / Profile.vue
Created November 9, 2020 06:30
Profile.vue Authentication JWT Vue Lumen 7
<template>
<div class="container">
<header class="jumbotron">
<h3>Profile</h3>
<h3>
<strong>{{currentUser.username}}</strong>
</h3>
<p>
<strong>Id:</strong>
{{currentUser.id}}
@blogcacanid
blogcacanid / Login.vue
Created November 9, 2020 06:29
Login.vue Authentication JWT Vue Lumen 7
<template>
<div class="col-md-12">
<div class="card card-container">
<img
id="profile-img"
src="//ssl.gstatic.com/accounts/ui/avatar_2x.png"
class="profile-img-card"
/>
<form name="form" @submit.prevent="handleLogin">
<div class="form-group">
@blogcacanid
blogcacanid / Register.vue
Created November 9, 2020 06:29
Register.vue Authentication JWT Vue Lumen 7
<template>
<div class="col-md-12">
<div class="card card-container">
<img
id="profile-img"
src="//ssl.gstatic.com/accounts/ui/avatar_2x.png"
class="profile-img-card"
/>
<form name="form" @submit.prevent="handleRegister">
<div v-if="!successful">
@blogcacanid
blogcacanid / user.js
Created November 9, 2020 06:28
user.js Authentication JWT Vue Lumen 7
export default class User {
constructor(username, email, password) {
this.username = username;
this.email = email;
this.password = password;
}
}
@blogcacanid
blogcacanid / auth.module.js
Created November 9, 2020 06:28
auth.module.js Authentication JWT Vue Lumen 7
import AuthService from '../services/auth.service';
const user = JSON.parse(localStorage.getItem('user'));
const initialState = user
? { status: { loggedIn: true }, user }
: { status: { loggedIn: false }, user: null };
export const auth = {
namespaced: true,
state: initialState,
@blogcacanid
blogcacanid / index.js
Created November 9, 2020 06:27
index.js Authentication JWT Vue Lumen 7
import Vue from 'vue';
import Vuex from 'vuex';
import { auth } from './auth.module';
Vue.use(Vuex);
export default new Vuex.Store({
modules: {
auth
@blogcacanid
blogcacanid / user.service.js
Created November 9, 2020 06:26
user.service.js Authentication JWT Vue Lumen 7
import axios from 'axios';
// for Lumen 7 back-end
const API_URL = 'http://localhost:8000/api/test/';
// for Node.js back-end
// const API_URL = 'http://localhost:9090/api/test/';
class UserService {
getPublicContent() {
return axios.get(API_URL + 'all');
@blogcacanid
blogcacanid / auth-header.js
Created November 9, 2020 06:25
auth-header.js Authentication JWT Vue Lumen 7
export default function authHeader() {
let user = JSON.parse(localStorage.getItem('user'));
if (user && user.accessToken) {
// for Lumen 7 back-end
return { Authorization: 'Bearer ' + user.accessToken };
// for Node.js Express back-end
// return { 'x-access-token': user.accessToken };
} else {
return {};
@blogcacanid
blogcacanid / auth.service.js
Created November 9, 2020 06:25
auth.service.js Authentication JWT Vue Lumen 7
import axios from 'axios';
// for Lumen 7 back-end
const API_URL = 'http://localhost:8000/api/auth/';
// for Node.js back-end
// const API_URL = 'http://localhost:9090/api/auth/';
class AuthService {
login(user) {
return axios