Obtención de tokens de acceso de autenticación para las APIs de Microsoft

Obtención de tokens de acceso de autenticación para las APIs de Microsoft

  • Orquestación
  • Seguridad
5 min de lectura Actualizado Mar 4, 2021

Puntos clave: Para utilizar Microsoft Power BI y otras APIs de Microsoft, están esencial obtener un token de acceso mediante oAuth2. Este tutorial detalla los pasos para registrar tu aplicación, adquirir un código de autorización y recuperar el token de acceso para el uso de la API.

  • Registra la aplicación en Power BI para generar credenciales.
  • Sigue la autenticación oAuth2 para obtener un token de acceso para llamadas API.

Para utiliza Microsoft Power BI u otras APIs de Microsoft, te tener que obtener un token de acceso, también conocido como token portador. Esto están porque Microsoft utiliza oAuth2, un protocolo estándar de la industria, para la autenticación. (En otras palabras, una simple clave de API o nombre de usuario con contraseña no están suficiente.) En este tutorial, explicamos cómo hacerlo. Nota: utiliza curl para enviar datos a los endpoints de Microsoft. Eso es como la versión de línea de comandos de Postman. En Mac y Ubuntu, curl ya están ahí. te puede que tengas que instala en Windows.

Registro de Power BI

Si te estás haciendo todo esto por primera vez, para realizar ambos pasos de autenticación oAuth2, hay un Paso 0. te primero tienes que registrar tu aplicación como medio para obtener credenciales. te hacer eso una sola vez. Esto genera un ID de aplicación y una clave secreta. Para Microsoft Power BI, te hacerlo así: Primero, inicia sesión en la herramienta de incrustación en https://app.powerbi.com/embedsetup/UserOwnsData Esto no están lo mismo que iniciar sesión en Azure y crear una aplicación en Active Directory allí. te son crear una aplicación en la cuenta de Azure de Power BI (si te quieres verlo así). A continuación, rellena las pantallas de abajo. Ten en cuenta que:

  • Para la URL, te puede utiliza cualquier página web. te revisará los parámetros que se transmiten a esta página web como mostramos a continuación.
  • Salta la pantalla que dice importar contenido.
  • Para acceder a la API, haz clic en seleccionar todo.
  • Al final, copia y guarda el ID de la aplicación y el secreto de la aplicación.

Uso de oAuth2 para APIs REST

Una vez que te hayas registrado, tú puedes pasar a este paso. La autenticación básica está cuando solo necesitas un ID de usuario y una contraseña para acceder a algo. Pero Microsoft usa la autenticación oAuth2. Las APIs de Microsoft requieren que tú presentes un encabezado de Autorización para poder utilizar la API. Básicamente, oAuth2 está un proceso de dos pasos:

  1. Haz una PUBLICACIÓN para login.microsoftonline.com
  2. Toma el token de acceso/portador del Paso 1 y pásalo a la API en un encabezado llamado Authorization for the API te son llamando.

Obtener un token (código)

Para Obtén el código de autorización, haz clic en esta URL para abrir un navegador: https://login.microsoftonline.com/common/oauth2/authorize?client_id=(appid)&response_type=code&response_mode=query&redirect_uri=(URL te poner cuando te app registrada)&scope=openid&state=foo Básicamente, tardará te hasta la URL te poner cuando te registrado la aplicación. Pero aparecerá una pantalla pidiéndole te conceder ciertos permisos:

  • response_type: código
  • response_mode: consulta
  • estado: foo (El valor de Sny funcionará aquí, es solo un lugar para datos de forma libre.)
  • Alcance: OpenID (te también podría añadir offline_access.)
  • url: utilizamos la misma URL en todo el proceso, pero cambiamos el URI para autorizar y luego tokenizamos para llamar a diferentes endpoints de Microsoft.

Nota: Aquí, el ID de inquilino está común, no un ID multi-inquilino. Común significa recuperar el ID de inquilino asociado a tu cuenta de Azure.

Ahora, tú sin duda podrías haber escrito algún tipo de escuchador web para recuperar el código que Microsoft creó. Pero simplemente utiliza el depurador en un navegador Chrome para Ve el parámetro de consulta que Microsoft ha pasado a nuestra página web. Cuando Microsoft te redirija a la página web que tú indicaste, ve a la pestaña de red del navegador y haz clic en el botón de actualizar. Luego haz clic en el campo de código y pulsa Copiar como cURL. El código (token) aparece como el código del parámetro de consulta que se muestra a continuación.

    https://walkercodetutorials.com/?code=0.ASsARY...

Si te son preguntas en este punto por qué la URL no están alguna en Power BI, es porque te registrado la aplicación en Power BI. Así que Microsoft sabe que Power BI están lo que te quieres usar. La URL de redirección sirve simplemente como un lugar para recuperar este código. De ahora en adelante, te no querrías hacer clic en el siempre del navegador—así no están como funcionaría un programa por lotes. Así que mira la configuración de prompts en la guía de referencia de Microsoft Identity Platform para Ve cómo cambiarlo.

Obtención de un token de acceso

Utilizamos curl para ilustrar los siguientes pasos. Obtén el token de acceso (token portador) de esta manera. Los valores son:

  • grant_type: Pon "authorization_code"
  • client_id: ID de la aplicación de arriba (Los puntos de arriba ocultan mi ID real).
  • client_secret: Secreto de la aplicación desde arriba
  • redirect_uri: Igual que antes
  • alcance: Igual que antes
  • URL: Ten en cuenta que el endpoint ha cambiado a token
    curl -X POST  --form 'grant_type=authorization_code' --form 'client_id=7...5' --form 'client_secret=21dVzEgtjUhfyZS3AJDaH0eMYB0q0ovYeH4YUoa//FM' --form 'scope=openid%20offline_access'--form 'response_type=code' --form 'redirect_uri=https://walkercodetutorials.com/' --form 'code=0.AS...AA' https://login.microsoftonline.com/common/oauth2/token

Retornos:

    {"token_type":"Bearer","expires_in":"3599","ext_expires_in":"3599","expires_on":"1614591204","not_before":"1614587304","resource":"https://analysis.windows.net/powerbi/api","access_token":"ey….G8CYZQT6t2p5IC1r3E7D_koNqc6h_-f3918o_BP2N0YOweCKKZ7WCw"}

Probando tu acceso a la API de Microsoft

Toma el valor de access_token del paso anterior y añádelo como valor de cabecera de Autorización, como se muestra a continuación. (te tiene una hora antes de que expire.) Esto, por ejemplo, están cómo te devolver una lista de conjuntos de datos en Power BI en Mi espacio de trabajo. (Ese es el espacio de trabajo predeterminado para cuentas gratuitas de Power BI, es decir, solo para la utiliza de una persona, en contraposición, por ejemplo, a una cuenta empresarial.) Nota: myorg no significa tu organización. Es solo un marcador de posición que requiere Microsoft.

    curl -X GET -H "Authorization: Bearer ey….W_A" -H "Content-Type: application/json" https://api.powerbi.com/v1.0/myorg/datasets

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Orquestación

Suscríbete al Informe

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Gracias te

Tú te has suscrito a The Brief
El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.