Hola, soy nuevo en el trabajo con la API de Jenkins y quiero saber por qué mi implementación actual no funciona con la API de búsqueda. He probado su implementación con cartero y funciona bien, sin embargo, cuando uso la API de búsqueda en un proyecto de nodo vue.js, recibo un error CORS cuando configuro el modo de solicitud para usar cors, y un error prohibido 403 cuando Estoy usando el modo sin cors. Aquí está mi código que tengo actualmente para mi implementación:
fetch("https://<domain-url>/crumbIssuer/api/json",{ method:'GET', mode: 'cors', //<=== cors request mode set here headers:{ 'Authorization': 'Basic <hashed username and password for jenkins basic authentication>', 'Content-Type': 'application/json', }, }).then(res=>{ if(res.ok){ return res.json(); }else{ .... } }).then(data=>{ .... }).catch(()=>{ ..... });
Si uso este código, obtengo un error de CORS como se muestra en la siguiente imagen: Error de Jenkins CORS Sin embargo, sospecho que esto se puede solucionar mediante la implementación de un proxy. Aunque, me gustaría saber si mi búsqueda simplemente estaba mal configurada de alguna manera, como la URL, los encabezados, etc.
NOTA: estoy usando exactamente la misma URL en mi implementación de cartero: Configuración en cartero
Además, intenté configurar el modo de solicitud en no-cors y obtuve un error 403: error 403 Sin embargo, de acuerdo con el artículo que he vinculado a continuación, configurar el modo de solicitud en no-cors no es una buena idea ya que evita finalice el código javascript para que no lea el cuerpo de la respuesta. Aquí hay un enlace a ese artículo:
Intentando usar el modo buscar y pasar: no-cors
Sin embargo, no estoy seguro de por qué devuelve un error prohibido 403 cuando está en no-cors.
Realmente estoy pensando que un servidor proxy podría resolver este problema, pero cualquier otra sugerencia sería genial. (O señalar un error estúpido) ¡gracias!