Closed fabianbarreto02 closed 1 year ago
La imposibilidad de pasar del login al dashboard cuando se usa LocationStrategy es que no da espera a web-component de tomar la url que pasa el _accesstoken y por ende no imite la información del usuario que da fin a esa transición del login, es decir este observador no estaba siendo activado addEventListener(user); situación extraña porque en cumplidos_dve_cliente y resoluciones_cliente_v2 consumen web-component y no es necesario realizar parches, por versión tampoco parece ser lío estos dos clientes tienen una versión de anguar superior a web-component, pero inferior a la del cliente actual, de hecho se prueba ajustando syllabus y también creando un proyecto con versión anterior y el problema se seguía presentando.
La "solución" es capturar el evento del router cuando pase por la ruta /access_token
y simular el proceso que debía realizar web-component cuando va a emitir por user.
this.router.events.subscribe((event: any) => {
// ...
const urltk: string = event.url ? event.url : ""
if (urltk.includes('/access_token')) {
var params: any = {}, queryString = location.hash.substring(1), regex = /([^&=]+)=([^&]*)/g;
let m;
while (m = regex.exec(queryString)) {
params[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
}
const req = new XMLHttpRequest();
const query = 'https://' + window.location.host + '?' + queryString;
req.open('GET', query, true);
if (!!params['id_token']) {
const id_token_array = (params['id_token']).split('.');
const payload = JSON.parse(atob(id_token_array[1]));
window.localStorage.setItem('access_token', params['access_token']);
window.localStorage.setItem('expires_in', params['expires_in']);
window.localStorage.setItem('state', params['state']);
window.localStorage.setItem('id_token', params['id_token']);
}
}
// ...
});
}
Se requiere realizar la Revisión del flujo de identificación por error de direccionamiento y autenticación en el cliente de syllabus entorno de pruebas
Sub Tareas
Criterios de aceptación
Requerimientos
No aplica
Definition of Ready - DoR
Definition of Done - DoD - Desarrollo