Preparación del inquilino externo para llamar a una API en una aplicación web de Node.js
Se aplica a: inquilinos de personal inquilinos externos (más información)
En este artículo, preparará el inquilino externo para la autorización. Este artículo es la primera parte de una guía de cuatro partes.
Requisito previo
Complete los pasos del Tutorial: Preparación del inquilino externo para iniciar sesión de usuarios en una aplicación web Node.js. Después de completar este tutorial, registrará una aplicación en el inquilino del cliente y tendrá una aplicación web que inicie la sesión de los usuarios. Nos referimos a esta aplicación web como "aplicación cliente". Esta aplicación se extiende para llamar a una API web protegida.
Complete los pasos descritos en Tutorial: Protección de una API web de ASP.NET registrada en un inquilino externo. Después de completar este tutorial, registrará una API web en el inquilino del cliente, que expone permisos de API y publica roles de aplicación. También tiene una API web protegida. Llame a esta API web desde la aplicación web cliente.
Configuración de la notificación de token idtyp [opcional]
Puede incluir la notificación opcional idtyp para ayudar a la API web a determinar si un token es un token de aplicación o un token de aplicación + usuario. Aunque es posible usar una combinación de notificaciones de scp y roles con el mismo propósito, usar la notificación idtyp es la manera más fácil de distinguir un token de aplicación de un token de aplicación + usuario. Por ejemplo, el valor de esta notificación es app cuando el token es un token solo para aplicaciones.
Siga los pasos descritos en el artículo Configuración de notificaciones opcionales para agregar la notificación idtyp al token de acceso:
- En Tipo de token, seleccione Acceso.
- En la lista de notificaciones opcionales, seleccione idtyp.
Concesión de permisos de API a la aplicación web
A partir de los requisitos previos, registró una aplicación cliente en el inquilino del cliente. También registró una aplicación de API web en los clientes. Ahora, debe conceder permisos de API a la aplicación cliente:
En la página Registros de aplicaciones, seleccione la aplicación que creó (como ciam-client-app) para abrir la página Información general.
En Administrar, seleccione Permisos de API.
En Permisos configurados, seleccione Agregar un permiso.
Seleccione la pestaña API usadas en mi organización.
En la lista de API, seleccione la API como ciam-ToDoList-api.
Seleccione la opción Permisos delegados.
En la lista de permisos, seleccione ToDoList.Read, ToDoList.ReadWrite (use el cuadro de búsqueda si es necesario).
Seleccione el botón Agregar permisos.
En este momento, ha asignado los permisos correctamente. Sin embargo, dado que se trata de un inquilino del cliente, los propios usuarios consumidores no pueden dar su consentimiento a estos permisos. Para solucionarlo, como administrador debe dar su consentimiento a estos permisos en nombre de todos los usuarios del inquilino:
Seleccione Conceder consentimiento del administrador para el <nombre del inquilino> y, a continuación, pulse Sí.
Seleccione Actualizar, luego compruebe que aparece Concedido para <el nombre de inquilino> en Estado para ambos permisos.
En la lista Permisos configurados, seleccione los permisos ToDoList.Read y ToDoList.ReadWrite, de uno en uno y, a continuación, copie el URI completo del permiso para su uso posterior. El URI de permiso completo tiene un aspecto similar a
api://{clientId}/{ToDoList.Read}
oapi://{clientId}/{ToDoList.ReadWrite}
.
Paso siguiente
A continuación, aprenda a preparar la aplicación web y la API.