Estoy usando Laravel y Vue en un SPA y estoy integrando mi aplicación con otra aplicación. La segunda aplicación tiene mi aplicación en un iframe. Sin embargo, una vez que mi aplicación se carga en su iframe y un usuario está autenticado, me gustaría que el usuario tenga la opción de abrir mi aplicación fuera del iframe haciendo clic en un botón. Después de autenticar al usuario en mi servidor, mi plan era enviar el JWT de vuelta al cliente y luego iniciar sesión con el usuario con el token (esto es mientras mi aplicación está dentro del iframe de la otra aplicación):
await this.$store.dispatch('auth/saveToken', { token: token })Si actualizo la página dentro del iframe, entonces el usuario inicia sesión, así que sé que esto está funcionando.
Sin embargo, cuando trato de abrir en una nueva pestaña:
let route = this.$router.resolve({ path: this.url }) window.open(route.href)el usuario está desconectado.
¿Me estoy perdiendo un paso para que el usuario permanezca conectado incluso si la aplicación se abre en una nueva pestaña y fuera del iframe original?
creo que debido al cambio de navegador, porque el iframe es diferente o su aplicación es diferente, por lo que debe administrar el token para iniciar sesión si viene en un nuevo navegador, y no puede obtener el token después de la tienda en vuex necesita pasar en url o de cualquier otra manera.