¿Cómo obtengo un token para la integración de de Microsoft Teams?

Este artículo muestra cómo es el proceso para la obtención de token para la integración de Microsoft Teams.

 MICROSOFT AZURE

 

1. En primer lugar deberemos tener una cuenta de Microsoft Office 365 (Empresarial o educativa), ya que sin esta no podremos obtener los permisos para generar el token correspondiente.

 

2. A continuación, deberemos registrar nuestra aplicación en Microsoft Azure (https://azure.microsoft.com/es-es/ ). Para ello deberemos seguir los siguientes pasos:

 

  1.  Deberemos iniciar sesión con nuestra cuenta profesional, haciendo click sobre el botón “Iniciar sesión”.

b. Una vez hayamos iniciado sesión de manera satisfactoria, dentro del panel de administración de Azure, deberemos hacer clic en el Menú lateral para seleccionar la opción de Azure Active Directory. Una vez dentro de la sección de Azure Active Directory, deberemos seleccionar la opción “Registro de aplicaciones

c. Seguidamente, deberemos crear una aplicación. Para ello, deberemos hacer clic en el botón “Nuevo registro”, donde nos llevará a un formulario como detallamos a continuación:

Los campos a rellenar serán:

  • Nombre: este es el nombre que deberemos dar para nuestra aplicación.
  • Tipos de cuenta compatibles: deberemos marcar la tercera opción para que podamos usar con cualquier cuenta Microsoft (Educativa, Profesional o Personal). Si en su caso, queremos que solo puedan usarse con cuentas profesionales o educativas, deberemos marcar la primera opción “Solo cuentas de este directorio organizativo”.
  • URI de redirección: deberemos especificar una dirección, a la que la autenticación de Microsoft necesitará redirigir para autenticarse. Es preferible que esa dirección de redirección, no exista dentro de nuestro dominio. En este caso, se especifica cómo redirección “/oauth”


En el momento que el formulario haya sido rellenado como se especifica, deberemos hacer clic en el botón “Registrar” para que se guarde todos los cambios. En este momento, se guardará la aplicación y automáticamente nos abrirá una ventana de configuración de la aplicación como esta:

Es muy importante, que nos guardemos el “id de aplicación (cliente)para poder hacer la petición para obtener el token de acceso. También deberemos comunicar el “id de aplicación (cliente)” al desarrollador de la plataforma.

 

d. Una vez creada la aplicación en Azure, deberemos otorgarle los permisos correspondientes para que el token se genere correctamente con las herramientas que necesitamos para Microsoft Teams. Para ello, en el menú lateral de la aplicación creada, deberemos seleccionar la opción “Permisos de API

Nos aparecerá una ventana para otorgar los permisos correspondientes. En ella, deberemos hacer clic en el botón “Agregar un permiso”.

 

Este botón, nos abrirá una ventana a la derecha en la que deberemos seguir los siguientes pasos:

 

  1. Deberemos hacer clic en la opción Microsoft Graph.

 

2. Una vez seleccionemos esta opción, deberemos escoger Permisos delegados

 

3. A continuación, en el cuadro de búsqueda deberemos escribir el Permiso a buscar y pulsar la tecla Enter.

 

Los permisos que deberemos otorgar son los siguientes:

 

  • OnlineMeetings: ReadWrite
  • OpenId: offline_access, openid

 

Leyenda: Permiso a buscar, Permiso que debe seleccionar

 

Deberemos hacer clic en el Permiso que debe seleccionar y marcar la opción descrita anteriormente.

Por último, deberemos hacer clic en el botón “Agregar Permisos”. Por último, deberemos hacer clic en el botón “Conceder consentimiento de administrador para …

 

 e. A continuación, deberemos exponer esta configuración para la API de Microsoft Graph. Para ello, deberemos seleccionar en el menú lateral de la aplicación creada la opción “Exponer una API”. Nos aparecerá una nueva ventana en la que deberemos de seguir los siguientes pasos:

Deberemos de agregar un ámbito de la api para que sea visible desde la petición que nosotros vamos a realizar más adelante. Para ello, deberemos de establecer la URI de id. de aplicación, haciendo clic en “Establecer”:

Nos aparecerá un pequeño diálogo en el que deberemos hacer clic en el botón de “Guardar”

A continuación, deberemos de agregar el “Ámbito definido de la API”. Para ello, deberemos de hacer clic en el botón “Agregar un ámbito

Nos aparecerá una ventana a la derecha, para complimentar con la información detallada a continuación:

 

  • Nombre de ámbito: OnlineMeetings.ReadWrite
  • ¿Quién puede dar el consentimiento?: Administradores y usuarios
  • Nombre para mostrar del consentimiento del administrador: Crear reuniones en línea
  • Descripción del consentimiento del administrador: OnlineMeetings

Para guardar este ámbito, deberemos de hacer clic en el botón “Agregar ámbito

*Deberemos hacer este paso otra vez para otorgar el ámbito para este permiso*:

 

  • Nombre de ámbito: offline_access
  • ¿Quién puede dar el consentimiento?: Administradores y usuarios
  • Nombre para mostrar del consentimiento del administrador: Acceder de forma online
  • Descripción del consentimiento del administrador: refresh_token

Por último, deberemos autorizar a la aplicación creada los ámbitos anteriormente seleccionados. Para ello, deberemos de hacer clic en el botón “Agregar una aplicación cliente

 

A continuación, nos aparecerá una ventana a la derecha en la que deberemos de seleccionar los dos ámbitos anteriormente creados en el paso anterior. También deberemos de escribir el “id de aplicación (cliente)” que anteriormente nos hemos anotado cuando hemos creado la aplicación, en el campo “Id. de cliente”.

Por último, deberemos de hacer clic en el botón “Agregar aplicación

f. Por último, deberemos de crear una contraseña secreta para verificar que nosotros estamos realizando la petición para obtener el token. Para ello, deberemos de seleccionar la opción “Certificados y secretos” en el menú lateral.

Nos aparecerá la ventana donde deberemos de añadir una nueva contraseña secreta. Para ello deberemos hacer clic en el botón ”Nuevo secreto de cliente”

A continuación, nos deberá aparecer un pequeño diálogo donde deberemos escoger un nombre descriptivo para la nueva contraseña secreta. También deberemos seleccionar cuando expirará esta nueva contraseña, que en este caso seleccionaremos “Nunca”.

 

Por último, deberemos hacer clic en el botón de “Agregar”.

Una vez creada la contraseña, es muy importante apuntar la contraseña, ya que no podremos obtenerla de nuevo en un futuro.

 

 

Importante:

Para la siguiente parte del proceso de obtención del token, deberemos apuntarnos en algún documento los siguientes datos

 

  • de aplicación (cliente): este código se encuentra en la opción de “Información general
  • contraseña secreta: esta clave se trata de aquella que era muy importante de apuntar, ya que en un futuro no sería posible visualizarla de nuevo.

POSTMAN:

 

En primer lugar, deberemos tener instalado en nuestro ordenador el siguiente programa:

https://www.postman.com/downloads/ Se trata de un programa para peticiones HTTP. Una vez tengamos el programa instalado, seguramente tengamos que crearnos una cuenta para poder utilizar el programa.

 

Una vez terminado el proceso anterior, deberemos hacer las siguientes operaciones:

 

  1. Deberemos obtener un código de autorización de Microsoft para poder utilizar la api de Microsoft Graph y así realizar la petición para obtener el token de acceso pertinente. Para ello, deberemos generar una url como la siguiente:

 

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=[CLIENT_ID]&response_type=code&redirect_uri=[REDIRECT_URI]&response_mode=query&scope=offline_access%20OnlineMeetings.ReadWrite

 

Donde deberemos reescribir los siguientes campos por su valor correspondiente:

 

  • [CLIENT_ID] -- Id. de aplicación (cliente):
  • [REDIRECT_URI]: Url de redireccionamiento que hemos descrito cuando hemos creado la aplicación en Microsoft Azure.

 

De este modo la url deberá quedar algo parecido a:

 

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=95a1500d-7f8f-4025-993d-0696163348f7&response_type=code&redirect_uri=https://fitls.com/oauth-dev&response_mode=query&scope=offline_access%20OnlineMeetings.ReadWrite

 

Esta dirección deberemos de pegarla en la barra de direcciones e ingresar en esta dirección. Esta operación hará una petición para obtener el código de autorización para utilizar en Postman.

Si la petición se ha realizado de manera correcta, en la barra de navegaciones obtendremos una dirección nueva, donde se obtendrá el código de autorización que usaremos en la petición Postman que más adelante realizaremos. La url será algo parecido a esto:

 

 

https://fitls.com/oauth?code=0.AAAAesQv4V1c3UKMOMR4J6d49Q1QoZWPfyVAmT0GlhYzSPd0AKA.AQABAAIAAAB2UyzwtQEKR7-rWbgdcBZIIUB8gzCtFvQPyNVKfod7b6NvkKs98jGfwwFEOFEJ5MEownunGIzph2_qXv_q0y4qQ2RFypwbIjXhxkzBVkCxtaCcKR_Qz0-mjWjt9RA8ruQ6jx8a75ig0EMOxoi3oiEmjMtgs2FKe4I3NEuUtM5ym8fdq2Gbo1ESxb-26xhs3DirBfj3cqVwoGoUm3tk1zCJE05Xqk8FKylKWmIivN8IsIBLPp2QYcO-VY9GYS1Ro-ZJvcgnUmktokDtGvCKq372yGt_nKJ0hesaw-2urWKsBLI-lhXOmOWVqRXxpPtfWDFjOf9qJNCXw-Na3MBugb5YudPvOpZMN2UM2ICrb2zt8HzD3KiF0aV82z-zqhoKD1Lm158ug8CAEkkGGnjG5411pjImP544tX4EhVuc3xSiruaXwdS3R6yFOxwT9wnSkfKvOJW-VyOht8bdMzIWVnL-T5QskOKalpxnAZ-LzhuTgJDiAiP8BIpmrZCCtXYD4Iwrob2dyqY1dmoki-tG-T4KRPOWyv5FopNWpHB5WjJlEzCE168A05578JPyNZb0LpEN3TTV0hh1S1DfvjgOWApZvRKDWBMPmXQQ1Cz531sOYtpiZVfLbDjKxtJBDQRRg2GHM_3ZgW3Xg41JZtAlFVIBJzNbeNagi15YkKhn9Gv0kN5xmqZc_anbdyM3uKEqpAogAA&session_state=74a9976a-d8e1-4558-bb73-c2b0e655ef78

 

El código de autorización será lo que esta en rojo. Solo nos deberemos de copiar lo que está en amarillo, lo demás no nos hace falta para nada.

 

1. En el siguiente paso deberemos de hacer la petición POST en Postman. Para ello, deberemos de realizar los siguientes pasos:

 

  • Deberemos de crear una nueva petición, para ello haremos clic en el botón “+ New"
  • A continuación, deberemos de seleccionar la opción “Request”. Deberemos especificar el nombre para esta petición. Cómo va a ser algo puntual, podremos darle el nombre que queramos. Es posible que debamos crear una nueva colección. No se preocupen, como va a ser también algo temporal, podremos especificar un nombre aleatorio para esta colección. Por último, deberemos de indicar “Save to …”
  • Aparecerá una nueva ventana, donde deberemos indicar la url donde haremos la petición. Deberemos de indicar de qué se trata de una petición POST, que podremos escoger en el selector que se encuentra al lado del cuadro de dirección.
  • Deberemos indicarle que la url para la petición es la siguiente:

 

https://login.microsoftonline.com/common/oauth2/v2.0/token

 

  • Una vez establecida la url de petición, deberemos indicarle al cuerpo de la petición los parámetros que necesita. Para ello, deberemos seleccionar “Body” y por último: “x-www-form-urlencoded”
  • Deberemos escribir los siguientes campos del formulario, de los que deberemos reemplazar los siguientes campos:

 

  • [Code]: este es el código que hemos obtenido en la última petición en el navegador. Era un código que está resaltado en amarillo.
  • [Client_ID]: este es el código de cliente de la aplicación.
  • [Redirect_URI]: es la url de redireccionamiento que configuramos cuando creamos la aplicación en Microsoft Azure.
  • [Client_SECRET]: esta es la contraseña que debíamos anotar que era muy importante

 

  • Una vez hayamos reemplazado estos campos, deberemos de realizar la petición. Para ello, deberemos de hacer clic en el bóton “Enviar” o “Send”

Si la petición se ha realizado de manera correcta, obtendremos una respuesta parecida a esto:

 

{

    "token_type": "Bearer",

    "scope": "openid profile email https://graph.microsoft.com/OnlineMeetings.ReadWrite https://graph.microsoft.com/User.Read",

    "expires_in": 3599,

    "ext_expires_in": 3599,

    "access_token": "[access_token]",

    "refresh_token": "[refresh_token"

}

 

El código resaltado en rojo es el que nos interesa. Este es el que deberemos de comunicar al desarrollador de la plataforma junto con los siguientes datos:

 

Client_ID, CLIENT_SECRET, refresh_token

 

¡Enhorabuena, has finalizado correctamente el proceso para la obtención de token para la integración de Microsoft Teams!