Skip to content
Advertisement

Access LocalStorage in Middleware – NuxtJs

Well, I’m starting with nuxt and I have following routes:

JavaScript

I want to protect the /dashboard, but only for users logged in with a token in localStorage.

The simplest way I thought of doing this was by creating a /middleware/auth.js

JavaScript

and registering it in the /dashboard/index.vue component.

JavaScript

But I cannot access localStorage within a middleware, because LocalStorage is client-side.

I have already tried to add this same check in the created() dashboard layout, but I cannot return window not set mounted() is too late, it can only check after the page has been fully assembled.

So how can I achieve this? Note: I do not intend to use any Vuex for this project.

Advertisement

Answer

I used cookie-universal-nuxt

On vuex store for login action I set a commit with the token

JavaScript

and access it in middleware as middleware/auth.js

JavaScript
User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement