Compartir a través de


Error "No se pudo obtener el token de acceso de Azure DevOps Service"

Síntomas

Al intentar comprobar la conexión automática del servicio Azure RM, puede recibir el siguiente mensaje de error:

No se pudo obtener el token de acceso de Azure DevOps Service, el valor de caché no es válido.

Captura de pantalla que muestra la comprobación de la conexión automática de Azure RM.

Pasos de depuración

Capture un seguimiento F12/Fiddler mientras reproduce el problema.

Verá la siguiente respuesta para la llamada POST en el seguimiento:

{"authorization":{"parameters":{"tenantid":"xxxxxx49-XXXXcexxxxxx","serviceprincipalid":"xxxxxx7e-XXXX-027xxxxxxxxx","authenticationType":"spnKey","serviceprincipalkey":null,"**accesstoken":null**},"scheme":"ServicePrincipal"},"created}

Causa

Al ejecutar una llamada de actualización de conexión de servicio desde la interfaz de usuario, el cuerpo de la PUT solicitud contiene una accesstoken = null entrada. Si comparamos la PUT carga con las conexiones del servicio de trabajo al final de la operación, no vemos esta entrada. Si la AccessToken propiedad está presente en el objeto de interfaz de usuario de conexión de servicio, debe tener un valor válido (por ejemplo, un GUID). No debe estar vacío o nulo.

Solución

  1. Vaya a la página de conexión de servicio y seleccione la conexión de servicio afectada.

  2. Seleccione Editar.

  3. Presione F12 y abra la ventana de seguimiento de red. Si es posible, seleccione la opción Deshabilitar caché en el panel en la pestaña Red .

  4. Actualice la descripción.

  5. Selecciona el botón Guardar.

  6. Si se le solicita autorización, escriba las credenciales necesarias. En el seguimiento de red, ahora puede ver la llamada PUT para actualizar la conexión de servicio que produjo un error.

  7. Abra los detalles de la llamada PUT y copie la carga de solicitud seleccionando Origen de la vista > Carga útil > Seleccione el contenido y copie el contenido.

  8. En los detalles de la llamada PUT, copie también el valor del encabezado Authorization.

  9. En el cuerpo de la solicitud, quite la propiedad accesstoken: null (o accesstoken:'') en el encabezado de autorización.

  10. Copie la carga de solicitud actualizada y realice una llamada PUT API de actualización de conexión de servicio mediante Postman (o cualquier otra herramienta REST) mediante la ejecución de la SIGUIENTE API. Asegúrese de proporcionar el encabezado autorización que copió anteriormente al realizar esta llamada.

    PUT - https://dev.azure.com/{organization}/_apis/serviceendpoint/endpoints/{endpointId}?api-version=6.0-preview.4

Para obtener más información, consulte Puntos de conexión: actualizar punto de conexión de servicio.