Compartir a través de


Configuración de una aplicación de App Service o Azure Functions para usar un proveedor de OpenID Connect

En este artículo se muestra cómo configurar Azure App Service o Azure Functions para usar un proveedor de autenticación personalizado que cumpla la especificación openID Connect (OIDC). OIDC es un estándar del sector que usan muchos proveedores de identidades. No es necesario comprender los detalles de la especificación para usar un proveedor de identidades OIDC para la aplicación.

Puede configurar la aplicación para que use uno o varios proveedores de OIDC. Debe asignar a cada proveedor de OIDC un nombre descriptivo único en la configuración de la aplicación. Solo un proveedor puede actuar como destino de redirección predeterminado.

Registro de la aplicación con el proveedor de identidades de OIDC

El proveedor requiere que registre la aplicación especificando un URI de redirección con el formato <app-url>/.auth/login/<provider-name>/callback. En el URI de redirección, reemplace por <app-url> la dirección URL de la aplicación y <provider-name> por el nombre descriptivo que va a asignar al proveedor de OpenID en Azure.

Nota

El nombre del proveedor de OpenID no puede contener un guión -, porque se crea una configuración de aplicación de App Service basada en este nombre y la configuración de la aplicación no admite guiones. En su lugar, puede usar un carácter de subrayado _ .

Al registrar la aplicación, debe recopilar un identificador de cliente y un secreto de cliente para la aplicación. Anote estos valores para usarlos en la configuración de la aplicación de Azure.

Nota

  • El valor del secreto de cliente es una credencial de seguridad importante. No comparta este secreto con nadie ni distribúyalo dentro de una aplicación cliente.
  • La aplicación debe proporcionar el secreto de cliente si desea que los usuarios adquieran tokens de acceso mediante el flujo de código de autorización interactivo. Si no desea adquirir tokens de acceso, no es necesario usar un secreto.

También necesita los metadatos OIDC del proveedor. Estos metadatos a menudo se exponen en un documento de metadatos de configuración que puede obtener en la ruta de acceso formada anexando /.well-known/openid-configuration a la dirección URL del emisor del proveedor.

Si no puede acceder a un documento de metadatos de configuración, obtenga los siguientes valores por separado:

Cada proveedor de identidades debe proporcionar instrucciones sobre cómo completar los pasos de registro. Algunos proveedores pueden requerir pasos adicionales para su configuración o para usar los valores que proporcionan. Por ejemplo, Apple proporciona una clave privada que se usa para crear un token web JSON (JWT), que se escribe como secreto en la configuración de la aplicación. Para obtener más información, consulte Creación de un secreto de cliente.

Adición de información de un proveedor a su aplicación

Para configurar el proveedor openID Connect en Azure, siga estos pasos:

  1. En la página de Azure Portal de la aplicación, seleccione Autenticación en Configuración en el menú de navegación izquierdo.

  2. En la página Autenticación , seleccione Agregar proveedor de identidades o seleccione Agregar proveedor en la sección Proveedor de identidades .

  3. En la página Agregar un proveedor de identidades , seleccione OpenID Connect como proveedor.

  4. En Nombre del proveedor de OpenID, escriba el nombre descriptivo que eligió para el proveedor de OIDC.

  5. En Configuración del proveedor de OpenID Connect, si tiene un documento de metadatos del proveedor de identidades, seleccione Dirección URL del documento para la entrada Metadatos.

    Si no tiene un documento de metadatos, seleccione Especificar metadatos y escriba cada dirección URL del proveedor de identidades en el campo adecuado.

  6. En Registro de aplicaciones, proporcione los valores recopilados anteriormente para id. de cliente y secreto de cliente.

  7. Si este es el primer proveedor de identidades de la aplicación, la sección Configuración de autenticación de App Service aparece con la configuración, como la forma en que la aplicación responde a solicitudes no autenticadas. Las selecciones predeterminadas redirigen todas las solicitudes para iniciar sesión con el nuevo proveedor.

    Si ya configuró un proveedor de identidades para la aplicación, esta sección no aparece. Puede personalizar la configuración más adelante si es necesario.

  8. Seleccione Agregar para finalizar la configuración del proveedor de identidades.

En la página Autenticación , <ahora aparece oidc_friendly_name>(proveedor personalizado) en la sección Proveedor de identidades . Para editar la configuración del proveedor, seleccione su icono de lápiz en Editar.

En la sección Configuración de autenticación se muestran configuraciones como la forma en que la aplicación responde a solicitudes no autenticadas. Para editar esta configuración, seleccione Editar junto a Configuración de autenticación. Para más información sobre las opciones, consulte Flujo de autenticación.

El secreto de aplicación se almacena como una configuración de aplicación de espacio sticky denominada <oidc_friendly_name>_AUTHENTICATION_SECRET. Puede ver la configuración en la pestaña Configuración de la aplicación de la página Variables de entorno de la aplicación en el portal. Si desea administrar el secreto en Azure Key Vault, puede editar la configuración para usar las referencias de Key Vault.

Nota

Para agregar ámbitos, defina los permisos que tiene la aplicación en el portal de registro del proveedor. La aplicación puede solicitar ámbitos que usen estos permisos en tiempo de inicio de sesión.

  • Azure requiere ámbitos openid, profile, y email. Asegúrese de configurar el registro de la aplicación en el proveedor de identidades con al menos estos ámbitos.
  • El aud ámbito debe ser el mismo que el identificador de cliente configurado. No puede configurar las audiencias permitidas para este proveedor.