Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

294
Vistas
Intentar obtener el token de acceso con django-oauth-toolkit utilizando fetch no funciona mientras se trabaja con jquery

Estoy tratando de llamar al punto final para generar un token de acceso usando oauth en django, funciona cuando llamo al punto final usando jquery pero no funciona cuando trato de llamarlo con fetch

aquí está el código para buscar

 fetch(`https://<domain>/o/token/`, { method: 'POST', body:{ grant_type:'password', client_id: "<client-id>", client_secret:"<client-secret>", username:"<username>", password:"<password>" } }) .then(res => res.json()) .then(res => {console.log(res)});

la salida es

 {error: 'unsupported_grant_type'}

mientras que cuando lo llamo usando jquery ajax como se muestra a continuación, funciona

 $.post({ url:'https://<domain>/o/token/', data:{ grant_type:'password', client_id: "<client-id>", client_secret:"<client-secret>", username:"<username>", password:"<password>" }, success: function(data){ console.log(data); } })

la salida es

 {access_token: '<access-token>', expires_in: 3600, token_type: 'Bearer', scope: 'read write groups', refresh_token: '<refresh-token>'}
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

He encontrado la solución en caso de que alguien haya tenido el mismo problema.

en jquery ajax como en el siguiente bloque de código, convierte el objeto del diccionario en una cadena de consulta

 var data = ""; for (var x in option.data) { if (data != "") { data += "&"; } data += encodeURIComponent(x)+"="+encodeURIComponent(option.data[x]); }; option.data = data;

y establece el encabezado de tipo de contenido en

 'application/x-www-form-urlencoded; charset=UTF-8'

por lo tanto, el código de búsqueda correcto que funcionará como la llamada jquery ajax será el siguiente

 fetch(`https://<domain>/o/token/`, { method: 'POST', headers: { "Content-Type": 'application/x-www-form-urlencoded; charset=UTF-8' }, body:'grant_type=password&client_id=<client-id>&client_secret=<client-secret>&username=<username>&password=<password>' }) .then(res => res.json()) .then(res => {console.log(res)});
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda