Adición de una aplicación de API web al inquilino de Azure Active Directory B2C

En este artículo se muestra cómo registrar recursos de API web en el inquilino de Azure Active Directory B2C (Azure AD B2C) para que puedan aceptar y responder a las solicitudes de las aplicaciones cliente que presentan un token de acceso.

Para registrar una aplicación en el inquilino de Azure AD B2C, puede usar la nueva experiencia unificada Registros de aplicaciones de Azure Portal o bien la experiencia heredada Aplicaciones (heredadas). Más información acerca de la nueva experiencia.

  1. Inicie sesión en Azure Portal.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Azure AD B2C desde el menú Directorios y suscripciones.
  3. En el menú de la izquierda, seleccione Azure AD B2C. O bien, seleccione Todos los servicios y busque y seleccione Azure AD B2C.
  4. Seleccione Registros de aplicaciones y luego Nuevo registro.
  5. Escriba un Nombre para la aplicación. Por ejemplo, webapi1.
  6. En URI de redirección, seleccione Web y escriba el punto de conexión donde Azure AD B2C deberá devolver los tokens que solicite la aplicación. En una aplicación de producción, puede establecer el URI de redirección en un punto de conexión como https://localhost:5000. Con fines de desarrollo o prueba, puede establecerlo en https://jwt.ms, una aplicación web propiedad de Microsoft que muestra el contenido descodificado de un token (el contenido del token nunca sale del explorador). Puede agregar y modificar los URI de redireccionamiento en las aplicaciones registradas en cualquier momento.
  7. Seleccione Registrar.
  8. Anote el Id. de aplicación (cliente) para usarlo en el código de la API web.

Configuración de ámbitos

Los ámbitos proporcionan una manera de controlar el acceso a los recursos protegidos. La API web utiliza los ámbitos para implementar el control de acceso basado en el ámbito. Por ejemplo, los usuarios de la API web pueden tener ambos accesos de lectura y de escritura, o pueden tener solo acceso de lectura. En este tutorial, utilizará ámbitos para definir los permisos de lectura y escritura para la API web.

  1. Seleccione App registrations (Registros de aplicaciones).
  2. Seleccione la aplicación webapi1 para abrir su página Información general.
  3. En Administrar, seleccione Exponer una API.
  4. Junto al URI de id. de la aplicación, seleccione el vínculo Agregar.
  5. Reemplace el valor predeterminado (un GUID) por api y, a continuación, seleccione Guardar. Se muestra el URI completo, que debe tener el formato https://your-tenant-name.onmicrosoft.com/api. Cuando la aplicación web solicita un token de acceso para la API, debe agregar este URI como prefijo para cada ámbito que se defina para la API.
  6. En Ámbitos definidos con esta API, seleccione Agregar un ámbito.
  7. Escriba los valores siguientes para crear un ámbito que defina el acceso de lectura a la API y, a continuación, seleccione Agregar ámbito:
    1. Nombre de ámbito: demo.read
    2. Nombre para mostrar del consentimiento del administrador: Read access to demo API
    3. Descripción del consentimiento del administrador: Allows read access to the demo API
  8. Seleccione Agregar un ámbito, escriba los valores siguientes para agregar un ámbito que defina el acceso de escritura a la API y, a continuación, seleccione Agregar ámbito:
    1. Nombre de ámbito: demo.write
    2. Nombre para mostrar del consentimiento del administrador: Write access to demo API
    3. Descripción del consentimiento del administrador: Allows write access to the demo API

Concesión de permisos

Para llamar a una API web protegida desde una aplicación, deberá conceder permisos de aplicación a la API. Por ejemplo, en Tutorial: registro de una aplicación en Azure Active Directory B2C, se registra una aplicación web en Azure AD B2C webapp1 denominada webapp1. Puede usar esta aplicación para llamar a la API web.

  1. Seleccione Registros de aplicaciones y, después, seleccione la aplicación web que debe tener acceso a la API. Por ejemplo, webapp1.
  2. En Administrar, seleccione Permisos de API.
  3. En Permisos configurados, seleccione Agregar un permiso.
  4. Seleccione la pestaña Mis API.
  5. Seleccione la API a la que la aplicación web debe tener acceso. Por ejemplo, webapi1.
  6. En Permiso, expanda demo y, a continuación, seleccione los ámbitos que definió anteriormente. Por ejemplo, demo.read y demo.write.
  7. Seleccione Agregar permisos.
  8. Seleccione Conceder consentimiento de administrador para (el nombre de inquilino) .
  9. Si se le pide que seleccione una cuenta, seleccione la cuenta de administrador que tiene iniciada actualmente la sesión o bien inicie sesión con una cuenta en el inquilino de Azure AD B2C que tenga asignado al menos el rol Administrador de aplicaciones en la nube.
  10. Seleccione .
  11. Seleccione Actualizar y, a continuación, compruebe que aparece "Concedido para..." en Estado para ambos ámbitos.

La aplicación está registrada para llamar a la API web protegida. Un usuario se autentica con Azure AD B2C para utilizar la aplicación. La aplicación obtiene una concesión de autorización de Azure AD B2C para acceder a la API web protegida.