No olvides que en las ciencias informáticas un error casi siempere puede tener diferentes soluciones, por lo tanto nosotros aquí compartimos lo más óptimo y mejor.
Solución:
Desde Jenkins 2.129, la configuración del token API ha cambiado:
Ahora puede tener varios tokens y nombrarlos. Se pueden revocar individualmente.
- Inicie sesión en Jenkins.
- Haga clic en su nombre (esquina superior derecha).
- Hacer clic Configurar (menú del lado izquierdo).
- Use el botón “Agregar nuevo token” para generar uno nuevo y luego asígnele un nombre.
- Debe copiar el token cuando lo genera, ya que no puede verlo después.
- Revoca tokens antiguos cuando ya no los necesites.
Antes de Jenkins 2.129: muestre el token de la API de la siguiente manera:
- Inicie sesión en Jenkins.
- Haga clic en su nombre (esquina superior derecha).
- Hacer clic Configurar (menú del lado izquierdo).
- Hacer clic Mostrar token de API.
Se revela el token API.
Puede cambiar el token haciendo clic en el Cambiar token de API botón.
La forma sin interfaz de usuario de hacer esta publicación Jenkins 2.129 es:
curl 'https:///me/descriptorByName/jenkins.security.ApiTokenProperty/generateNewToken'
--data 'newTokenName=foo'
--user username:Password
que devuelve:
"status": "ok",
"data":
"tokenName": "foo",
"tokenUuid": "",
"tokenValue": ""
Pre Jenkins 2.129
curl http://:@/me/configure
Probado en Jenkins 2.225
Después de investigar durante varias horas, pude encontrar la respuesta:
Se utiliza el token Api en lugar del token CSFR. Sin embargo, qué sucede si desea realizar la autenticación desde cualquier otro cliente (POSTMAN, CLI. curl, etc.).
Primero necesita obtener un token CSFR y guardar la información en una cookie con --cookie-jar
- SOLICITUD
curl -s –cookie-jar /tmp/cookies -u nombre de usuario:contraseña http://localhost:8080/crumbIssuer/api/json
- RESPUESTA
“_class”: “hudson.security.csrf.DefaultCrumbIssuer”, “crumb”: “bc92944100d12780cfc251c9255f3f323a475562b4ee0d8b9cc6e4121f50a450”, “crumbRequestField”: “Jenkins-Crumb”
Entonces podemos leer la cookie con --cookie
y generar el nuevo token:
- SOLICITUD
curl -X POST -H ‘Jenkins-Crumb:your_crumb_token_generated_above’ –cookie /tmp/cookies http://localhost:8080/me/descriptorByName/jenkins.security.ApiTokenProperty/generateNewToken?newTokenName=your_token_name -u nombre de usuario:contraseña
- RESPUESTA
“estado”: “ok”, “datos”: “tokenName”: “mi token de Android”, “tokenUuid”: “c510e26c-b2e8-4021-bf79-81d1e4c112af”, “tokenValue”: “11a2a0c91913d1391d8e8cb155ca714581”
Recuerda algo, que tienes autorización de valorar este escrito si te fue útil.