• ENTRAR
  • No hay productos en el carrito.

Problemas con CSRF

Viendo 7 publicaciones - del 1 al 7 (de un total de 7)
  • Autor
    Publicaciones
  • #10734

    oscartic
    Participante

    Muy buenas!

    En este momento estoy haciendo solamente la parte del curso del CRUD con vue, pero vi todos los videos. Para la parte del chat Israel explica que se debe agregar unas lineas de código para evitar el problema con csrf y tal cual como esta en los video lo puse en mi archivo de rutas pero no puedo actualizar ni agregar nuevos registros.
    ¿Como puedo hacer para solventar el error <span class=”exception_title”>TokenMismatchException? </span>

    #10735

    Cursosdesarrolloweb
    Jefe de claves

    Hola Oscar,

    Abre el layout que estés utilizando, supongo que resources/views/layouts/app.blade.php y en la sección head añade lo siguiente.

    Si te fijas sólo debes añadir el trozo de javascript debajo de la carga de la hoja de estilos app.css, dime si te funciona por favor.

    #10736

    oscartic
    Participante

    Ya hice la prueba y aunque en el código fuente veo que imprime el código csrf, igual sigo sin poder añadir, actualizar ni eliminar registros, me tira error 500. Es como que obligatoriamente ese código debiese enviarse en los formularios mediante un campo oculto, El problema es que si yo agrego {{ csrf_token() }} en el componente, laravel mix interpreta eso como código de vue y me compila mal el componente.

    Con el código que usas en la clase y que pones en resources/assets/js/app.js me dice que no esta declarada la variable Laravel… debería  hacer algo especial?

    #10737

    oscartic
    Participante

    Lo logre!!! Después de buscar muchooo, encontré la solución. La comparto por si a alguien mas le pasa:
    1. En el Layout que se este usando para agregar componentes, incluir el campo:

    <input type=”hidden” id=”csrf_token” value=”{{ csrf_token() }}” />

    2. En app.js antes del registro de componentes, incluir:

    Vue.http.headers.common[‘X-CSRF-TOKEN’] = document.getElementById(‘csrf_token’).value;

    Con esto, ya se tiene disponible el token de csrf para cualquier componente.

    • Esta respuesta fue modificada hace 1 año, 3 meses por  oscartic.
    #10739

    Cursosdesarrolloweb
    Jefe de claves

    Hola Oscar,

    Me alegro que lo hayas solucionado, te estaba escribiendo referente a esto, a ver si puedes probar, contando que en el app.blade.php tienes una etiqueta meta que contiene lo siguiente.

    A ver si lo siguiente, cualquiera de los 2 ejemplos te funciona.

    Un saludo.

    #10740

    oscartic
    Participante

    Efectivamente con ambas formas que indicas funciona y tu solución en mas elegante.

    Estoy haciendo mi proyecto de titulo con vue y con laravel pero no había logrado conectar los componentes con el backend pero gracias a este curso ya se como hacerlo, así que muchísimas gracias Israel. Tu colaboración y tus respuestas han sido de gran utilidad!

    Saludos

    #10741

    Cursosdesarrolloweb
    Jefe de claves

    Hola Oscar,

    Muchas gracias por tu paciencia para solucionar el problema y por comentar la solución.

    Un saludo.

Viendo 7 publicaciones - del 1 al 7 (de un total de 7)

Debes estar registrado para responder a este debate.

Síguenos en las redes sociales para estar al tanto de los últimas novedades :)

Facebook
Facebook
Google+
Google+
https://www.cursosdesarrolloweb.es/forums/topic/problemas-con-csrf">
Pinterest
Pinterest
top
Cursosdesarrolloweb ©. Todos los derechos reservados.
📢 Inscríbete a cualquier curso por solo 10€ con acceso inmediato y para siempre📢
🌍Los cursos gratuitos son exclusivos de esta plataforma, ÚLTIMOS CURSOS EN 4K🌍
+ +

Login

Create an Account Back to login/register