Configuración de la aplicación de App Service o Azure Functions para iniciar sesión mediante 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 con las especificaciones de OpenID Connect. OpenID Connect (OIDC) es un estándar del sector que usan muchos proveedores de identidades (IDP). No es necesario comprender los detalles de las especificaciones para configurar la aplicación para que use un IDP que cumpla dichas especificaciones.

Puede configurar la aplicación para que use uno o varios proveedores de OIDC. Cada uno debe tener un nombre alfanumérico único en la configuración y solo uno puede actuar como destino de redirección predeterminado.

Registro de la aplicación con el proveedor de identidades

El proveedor le solicitará que registre con él los detalles de la aplicación. Uno de estos pasos implica especificar un URI de redirección. Este URI de redirección tendrá el formato <app-url>/.auth/login/<provider-name>/callback. Cada proveedor de identidades debe proporcionar más instrucciones sobre cómo completar estos pasos. <provider-name> hará referencia al nombre descriptivo que asigne al nombre del proveedor de OpenID en Azure.

Nota

Algunos proveedores pueden requerir pasos adicionales para su configuración y para usar los valores que proporcionan. Por ejemplo, Apple proporciona una clave privada que no se usa como secreto de cliente de OIDC y, en su lugar, se debe usar para crear un token JWT que se trata como el secreto que se proporciona en la configuración de la aplicación (consulte la sección "Creación del secreto de cliente" de la documentación para iniciar sesión con Apple)

Deberá recopilar id. de cliente y un secreto de cliente para la aplicación.

Importante

El secreto de cliente es una credencial de seguridad importante, No comparta este secreto con nadie ni lo distribuya en una aplicación cliente.

Además, necesitará los metadatos de OpenID Connect para el proveedor. A menudo se expone a través de un documento de metadatos de configuración, que es la dirección URL del emisor del proveedor con el sufijo /.well-known/openid-configuration. Obtenga esta dirección URL de configuración.

Si no puede usar un documento de metadatos de configuración, tendrá que recopilar los siguientes valores por separado:

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

  1. Inicie sesión en Azure Portal y vaya a la aplicación.
  2. Seleccione Autenticación en el menú de la izquierda. Seleccione Agregar el proveedor de identidades.
  3. Seleccione OpenID Connect en el menú desplegable del proveedor de identidades.
  4. Proporcione el nombre alfanumérico único seleccionado anteriormente como nombre del proveedor de OpenID.
  5. Si tiene la dirección URL del documento de metadatos del proveedor de identidades, proporcione ese valor en URL de metadatos. De lo contrario, seleccione la opción Provide endpoints separately (Proporcionar puntos de conexión por separado) y coloque cada dirección URL recopilada del proveedor de identidades en el campo adecuado.
  6. Proporcione los valores de Id. de cliente y Secreto de cliente recopilados anteriormente en los campos adecuados.
  7. Especifique un nombre de configuración de aplicación para el secreto de cliente. El secreto de cliente se almacenará como una configuración de aplicación para confirmar que los secretos se almacenan de forma segura. Puede actualizar esa configuración más adelante para usar referencias de Key Vault si desea administrar el secreto en Azure Key Vault.
  8. Presione el botón Agregar para terminar de configurar el proveedor de identidades.

Nota

El nombre del proveedor de OpenID no puede contener símbolos como "-", ya que se creará un appsetting en función de esto y no lo admite. En su lugar, use "_".

Nota

Azure requiere los ámbitos "openid", "profile" y "email". Asegúrese de que ha configurado el registro de aplicaciones en el proveedor de id. con al menos estos ámbitos.

Pasos siguientes