Skip to content

Instantly share code, notes, and snippets.

View fhsinchy's full-sized avatar
🎯
Trying to focus

Farhan Hasin Chowdhury fhsinchy

🎯
Trying to focus
View GitHub Profile
// src/main.js
// ...
import configureAxios from './services/http';
//...
configureAxios();
// services/http.js
import axios from 'axios';
import router from '@/router';
import { store, mutations, actions } from '@/store';
export default function configureAxios() {
axios.defaults.headers = {
'Accept': 'application/json',
'Content-Type': 'application/json',
<?php
namespace App\Providers;
// ...
class AuthServiceProvider extends ServiceProvider
{
// ...
// src/App.vue
<script>
import { actions } from '@/store';
export default {
// ...
methods: {
// ...
logout() {
// src/store.js
// ...
export const actions = {
logout() {
store.accessToken = null;
window.localStorage.removeItem('accessToken');
window.localStorage.removeItem('refreshToken');
},
// src/views/Home.vue
<script>
import axios from 'axios';
import { store, getters } from '@/store';
export default {
async mounted() {
if (this.isLoggedIn) {
try {
// src/App.vue
// src/views/Home.vue
<script>
// ...
import { getters } from '@/store';
export default {
computed: {
isLoggedIn: () => getters.isLoggedIn(),
// src/views/OAuthCallbackHandler.vue
<script>
import axios from 'axios';
import { mutations } from '@/store';
export default {
async mounted() {
try {
const response = await axios.post('/oauth/token', {
// src/store.js
import Vue from 'vue';
export const store = Vue.observable({
accessToken: window.localStorage.getItem('accessToken'),
});
export const getters = {
isLoggedIn() {
// src/views/OAuthCallbackHandler.vue
<script>
import axios from 'axios';
export default {
async mounted() {
try {
const response = await axios.post(`${process.env.VUE_APP_OAUTH_AUTH_SERVER}/oauth/token`, {
grant_type: 'authorization_code',