deprecated
deprecated copied to clipboard
Token based Authentication with Ream
How token based authentication can be implemented with Ream. Is there any example available?
I guess you mean custom server? If you're using express you can use express-jwt, no example for now.
I am using express-jwt and express session to store token in a cookie. How can I set axios header, authorize routes and access token in vue components. Nuxt uses middle ware to set axios header like this
import axios from 'axios'
export default function({isServer, req}) {
if (isServer) {
axios.defaults.headers.common.cookie = req.headers.cookie
}
}
and then store token in store
nuxtServerInit ({ commit }, { req }) {
if (req.session && req.session.authUser) {
commit('SET_USER', req.session.authUser)
}
}
@egoist An authentication/route authorization example with express-jwt and custom expressjs server would be very useful for developers new to Ream.
@ansarizafar you can do this like in all other vuejs apps with or without ream
you cann follow this: https://github.com/auth0-blog/vue-jwt-authentication this will give you the idea but dont forget to use bcrypt to save the password on serverside they dont show this part
I've already explained that to him, but he keeps asking: https://github.com/ream/ream/issues/23#issuecomment-296352024
I'm guessing he hasn't gone through any tutorials yet.
I am using Token based authentication in my projects from last 3 years. @cannap the tutorial you mentioned is about client side. If routes/pages are rendered on the server then you can't get token from localstorage as there is no localstorage available on the server. See how it can be done with Nuxt https://nuxtjs.org/examples/auth-routes
Since you've been doing it for 3 years, how do you normally get the token to the server? Just add it to a header, or to the body, or in the query string when you make the request.
@egoist Could you please suggest a solution, especially for those who don't understand how SSR works.
I added a simple auth example: https://github.com/ream/ream/tree/master/examples/with-auth
This does not include an API implementation but only a client workflow.
Basically you only need to check if it's a valid user in entry file's middleware method or component's getInitialData method:
https://github.com/ream/ream/blob/76b13d34aa9b0dd6da35df62dd990639f32b66a8/examples/with-auth/index.js#L28-L44