From a25a98526369c3ae03a282bcba152b0f5b316ec7 Mon Sep 17 00:00:00 2001 From: Daniel Cortes Date: Tue, 14 Jul 2020 08:11:14 -0400 Subject: [PATCH] No se puede usar refresh token sin client secret en pkce Por lo que se almacena el access_token en local storage para persistir el login del usuario --- src/components/Auth.jsx | 10 ++++++++++ src/services/auth_service.js | 1 + 2 files changed, 11 insertions(+) diff --git a/src/components/Auth.jsx b/src/components/Auth.jsx index bfc0404..51466f9 100644 --- a/src/components/Auth.jsx +++ b/src/components/Auth.jsx @@ -7,6 +7,16 @@ import {useStateValue} from "../services/State"; export const AuthMiddleware = () => { useRouteMatch('*'); + + const [context, dispatch] = useStateValue(); + + const user = window.localStorage.getItem('user'); + const access_token = window.localStorage.getItem('access_token'); + + if((!context.user || !context.user.auth) && (user && access_token)){ + dispatch({type: 'login', user:{auth: true, access_token: access_token}}) + } + return null; } diff --git a/src/services/auth_service.js b/src/services/auth_service.js index 795a2e3..d2e927e 100644 --- a/src/services/auth_service.js +++ b/src/services/auth_service.js @@ -116,6 +116,7 @@ export const auth = async (params) => { const expires = new Date(new Date().getTime() + ((response.expires_in) * 1000)) window.localStorage.setItem('refresh_token', refresh); + window.localStorage.setItem('access_token', access_token); window.localStorage.setItem('expires', expires); // Almacenar el usuario en localStorage