Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

632
Views
CORS vs JWT cuál es la diferencia

Desarrollé e implementé django rest api en heroku. entonces estoy tratando de buscar api en vue cli pero no funcionará. Dice error CORS. Esta vez mi mente tiene algunas preguntas.

  • ¿Debería habilitar cors en backend usando la biblioteca cors o allor-origin en frontend?
  • ¿Puedo usar JWT en lugar de CORS?
  • ¿Cuáles son los problemas que debe enfrentar si habilita cors en backend?
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

CORS y JWT son cosas completamente diferentes.

JWT significa JSON Web Tokens y es una autenticación basada en token definida por RFC 7519. Por lo tanto, se utiliza un token JWT para permitir el acceso (inicio de sesión) a los recursos web. También puede agregar información al token (como el nombre de usuario), que se puede leer abiertamente si no está encriptado. Pero JWT tiene un método de firma, por lo que se puede verificar que el token sea válido. Hay diferentes algoritmos criptográficos que se pueden usar como, por ejemplo, RSA. Puede elegir entre firma asimétrica (p. ej., RSA) o firma simétrica (p. ej., HS256).

Puede encontrar información sobre JWT en jwt.io

CORS significa Intercambio de recursos de origen cruzado y define cómo se permite que el navegador solicite solicitudes a través de recursos o, en otras palabras, acceso HTTP a otros dominios.

En mi opinión, Mozilla hizo un buen trabajo cubriendo CORS bastante bien: https://developer.mozilla.org/de/docs/Web/HTTP/CORS

Para su problema específico: está tratando de acceder a un recurso (enlace http) que no pertenece al mismo dominio y, por lo tanto, su navegador no permite abrirlo por razones de seguridad.

allow-origin es un encabezado HTTP y se establece en el marco web que está utilizando. Como Django no viene con CORS listo para usar, necesitará alguna adición como https://github.com/ottoyiu/django-cors-headers

Una vez instalado, puede habilitar CORS

 CORS_ORIGIN_ALLOW_ALL = True

y habilita las solicitudes de dominios cruzados a las que te gustaría llamar:

 CORS_ORIGIN_WHITELIST = ( 'host1.example.com', 'host2.example.com', 'host3.foobar.info' )
over 4 years ago · Santiago Trujillo Report

0

Ambos son diferentes

CORS (Cross-Origin Resource Sharing) permite compartir recursos entre un navegador de cliente y un servidor que tiene un origen diferente, esto permite detener o permitir la solicitud de un cliente al servidor.

JWT es una forma de agregar seguridad a su aplicación, puede usar JWT para identificar usuarios, de esa manera, el servidor solo envía respuestas a los usuarios que tienen un JWT válido, lea más sobre esto aquí

  • Respuesta 1: CORS debe estar habilitado en el backend, en el frontend puede usar axios para realizar una solicitud http, agregará los encabezados requeridos

  • Respuesta 2: al no habilitar CORS, las solicitudes de un cliente (personas de todo el mundo que visitan su sitio web/aplicación) serán rechazadas, por lo que su aplicación solo se puede usar desde la máquina host, de todos modos, JWT no agrega nada en este caso , JWT se utiliza para identificar un usuario válido, un usuario con acceso a los recursos del servidor. Habilitar CORS y aceptar solicitudes sin JWT significa que su aplicación/sitio web no utiliza un sistema de autenticación y no necesita validar la identidad del usuario. Hay otras formas de identificar a los usuarios, JWT es solo una de ellas.

  • Respuesta 3: Para evitar solicitudes maliciosas, se debe agregar una capa de seguridad, de esa manera solo los usuarios autorizados pueden acceder a los recursos del servidor.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!