es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Acceda a Azure WebApp con Powershell {“mensaje”: “Falta el token de identificación. No autorizado.”}

He creado una WebApp en Azure con la autenticación de Azure habilitada. Quiero acceder a esta aplicación web usando el secreto de cliente como se describe aquí.

Así que utilicé el mismo script que en la respuesta, pero tengo un error en el último invoke-RestMethod:

invoke-RestMethod : {“message”:”Missing id token. Unauthorized.”}

¿Cómo solucionar este problema? Para su información, mi $authenticationToken al final es:

authenticationToken : eyJhbGci…
user : @{userId=sid:dcc5f…7f37ec9}

Cualquier ayuda será muy apreciada.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que la autenticación del secreto del cliente no está proporcionando el token de id requerido para acceder a la aplicación web. Para solucionar este problema, necesitamos modificar el script agregando el token de id en el encabezado de la solicitud.

    A continuación se muestran los pasos para agregar el token de id en el encabezado de la solicitud:

    1. Después de obtener el authenticationToken, extraiga el token de id de él utilizando el siguiente comando:

      $id_token = $authenticationToken.Split('.')[1]

    2. Convierta el token de id extraído en formato Base64:

      $id_token_base64 = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($id_token))

    3. Agregue el encabezado “Authorization” en invoke-RestMethod con el valor “Bearer ” + el token de id codificado en Base64:

      invoke-RestMethod -Headers @{Authorization="Bearer $id_token_base64"}...

    Al agregar los pasos anteriores en el script, debería proporcionar el token de id requerido para acceder a la aplicación web.

    ¡Espero que esto ayude!

Comments are closed.