Autenticación del Cliente
App Builder puede funcionar como un servidor de autorización OpenID Connect (OIDC). El servidor de autorización permite que las aplicaciones cliente, incluidas otras instancias de App Builder, para autenticar a los usuarios. El proceso de inicio de sesión de OIDC produce un token de acceso que permite que la aplicación cliente acceda a recursos protegidos en nombre del usuario. Los recursos protegidos incluyen App Builder APIs REST y Webhook alojadas, así como App Builder fuentes de datos del conector.
Soporte de Protocolo
El protocolo OIDC está definido por el estándar OpenID Connect Core 1.0. OIDC es una capa de identidad construida sobre el marco de autorización OAuth 2.0, que se define en RFC-6749. En conjunto, estas normas describen:
- Flujos - Un flujo es un proceso mediante el cual el cliente recupera tokens de identidad y acceso. Por este motivo, los flujos también se conocen como concesiones.
- Extremos - Cada flujo implica una o más solicitudes HTTP a URLs conocidas.
- Ámbitos: las aplicaciones cliente pueden solicitar uno o más ámbitos. Los ámbitos determinan qué tokens se emiten (identidad, actualización), qué se incluye en esos tokens (reclamos) y a qué APIs se puede acceder con esos tokens.
- Reclamaciones - Como lo describe el estándar, el token de identidad es fundamentalmente un JSON Web Token (JWT). Los JWT se basan en reclamaciones. El alcance solicitado determina qué reclamaciones se incluyen en el token de identidad.
Flujos Admitidos
El App Builder el servidor de autorización admite los siguientes flujos básicos de OAuth 2.0:
- Código de autorización. El flujo de código de autorización permite al cliente adquirir un token de acceso, que le permite acceder a recursos protegidos en nombre del usuario. El flujo de código de autorización es un flujo interactivo: un usuario debe estar presente para iniciar el flujo de código de autorización.
- Credenciales del cliente. El flujo de credenciales del cliente permite que la aplicación cliente adquiera un token de acceso en su nombre. Este es un flujo de servidor a servidor, que normalmente funciona como una cuenta de servicio.
- Token de actualización. El flujo de token de actualización permite al cliente solicitar un nuevo token de acceso una vez que el token actual ha expirado. Esto a veces se conoce como "acceso sin conexión". El flujo de token de actualización se puede utilizar en combinación con los flujos de código de autorización o credenciales del cliente. El ámbito offline_access habilita el flujo de token de actualización (consulte a continuación).
Como se indicó anteriormente, OIDC se basa en el marco de autorización de OAuth 2.0. OIDC aprovecha los flujos de OAuth 2.0 y utiliza el parámetro scope para optar por la funcionalidad específica de OIDC. App Builder el servidor de autorización admite los siguientes flujos OIDC:
- Código de autorización. Cuando se especifica el ámbito openid, el flujo del código de autorización permite al cliente autenticar a un usuario devolviendo un token de identidad adicional. Los ámbitos adicionales determinan qué reclamaciones se incluyen en el token.
- Token de actualización. El flujo de token de actualización funciona de la misma manera en OIDC que en OAuth 2.0.
El servidor de autorización no admite los flujos implícitos o híbridos de OIDC. El flujo de credenciales de cliente de OAuth 2.0 no es un flujo OIDC.
El flujo del código de autorización se puede utilizar con o sin la extensión de clave de prueba para intercambio de código (PKCE), como se define en RFC-7636.
Extremos Compatibles
El App Builder el servidor de autorización publica los siguientes extremos:
Extremo | Estándar | Descripción |
---|---|---|
/conectar/autorizar | RFC-6749 | Emite un código de autorización. |
/conectar/token | RFC-6749 | Emite un token de acceso. |
/conectar/introspeccionar | RFC-7662 | Introspección del token de acceso. |
/connect/userinfo | Núcleo OIDC | Introspección del token de identidad. |
/.well-known/openid-configuration | Descubrimiento de OIDC | Configuración del proveedor de OpenID Connect. |
Ámbitos Admitidos
El App Builder el servidor de autorización admite los siguientes ámbitos:
Ámbito | Descripción |
---|---|
openid | Emite un token de identidad OIDC. |
perfil | Incluye declaraciones de perfil de usuario en el token de identidad. |
correo | Incluye reclamos de direcciones de correo en el token de identidad. |
teléfono | Incluye declaraciones de números de teléfono en el token de identidad. |
offline_access | Emite un token de actualización para usar en el flujo de token de actualización. * No disponible para clientes públicos |
api | Autoriza el acceso App Builder-REST alojado, Webhook y App Builder APIs de conector. |
Afirmaciones Respaldadas
Como se indicó anteriormente, el token de identidad es un token JWT basado en reclamos. El cliente puede determinar qué reclamos se incluyen en el token de identidad especificando los alcances.
Alcance | Reclamos |
---|---|
openid | sub |
perfil | nombre, apodo, configuración regional y información de zona |
correo | * correo* y * correo electrónico verificado * |
teléfono | número_de_teléfono y número_de_teléfono_verificado |
Para obtener una descripción de cada una de estas reivindicaciones, consulte la sección 5.1 Reivindicaciones estándar del estándar OIDC. Cualquier afirmación estándar que no esté explícitamente enumerada anteriormente no tiene respaldo.
Configuración
Para utilizar el servidor de autorización, el App Builder el administrador debe primero:
- Habilitar el servidor de autorización.
- Registrar una aplicación cliente.
- Configurar la aplicación cliente.
Habilitar el Servidor de Autorización
Para habilitar el servidor de autorización, comience iniciando sesión en App Builder como administrador:
- Haga clic en el enlace IDE.
- Haga clic en el botón Proveedores de seguridad.
- En el panel Autenticación de usuario, ubique el proveedor de seguridad del Servidor de autorización y haga clic en el ícono Detalles (Chevron).
- Haga clic en el botón Editar.
- Marque la opción Habilitado.
- Haga clic en el botón Guardar.
Registrar una Aplicación Cliente
Cada aplicación cliente que desee autenticar usuarios o acceder a recursos protegidos debe estar registrada. Para registrar una aplicación cliente, comience iniciando sesión en App Builder como administrador, siga estos pasos:
- Haga clic en el enlace IDE.
- Haga clic en el botón Administración de usuarios.
- Haga clic en el botón Clientes.
- Haga clic en el botón +Cliente para registrar una nueva aplicación cliente.
-
Proporcione lo siguiente:
- Nombre: Un nombre descriptivo y amigable para la aplicación cliente.
- Descripción: Una descripción opcional.
- Usuario: Seleccione la cuenta de usuario del servicio. Obligatorio para el flujo de credenciales del cliente. De lo contrario, déjelo en blanco.
- Proveedor de autenticación: Seleccione un proveedor o déjelo en blanco.
- Habilitado: Habilita o deshabilita la aplicación cliente.
-
Haga clic en el botón Guardar.
-
(Opcional) Haga clic en Más, entonces Avanzado. Se abre el cuadro de diálogo Configuración avanzada. Contiene dos pestañas:
-
Propiedades: Establezca las siguientes configuraciones, según sea necesario:
-
Requiere PKCE: Cuando se selecciona, el cliente debe usar la extensión PKCE. Esto solo se aplica al flujo de código de autorización y es obligatorio para los clientes públicos.
-
Público: Cuando se selecciona, el cliente es público y los secretos no se pueden almacenar de forma segura. Cuando no se selecciona, el cliente es confidencial y puede almacenar secretos de forma segura.
-
-
Duración de los tokens: Ingrese valores para los siguientes campos, según sea necesario:
-
Token de acceso: Tiempo de expiración del token de acceso, en minutos. Predeterminado: 60.
-
Token de actualización: Tiempo de expiración del token de actualización, en minutos. Predeterminado: 20160 (14 días).
-
Token de identidad: Tiempo de expiración del token de identidad, en minutos. Predeterminado: 20.
-
Código de autorización: Tiempo de expiración del código de autorización, en minutos. Predeterminado: 5.
-
-
Generar un Secreto de Cliente
La aplicación cliente debe proporcionar sus propias credenciales al solicitar un token de acceso. Las credenciales del cliente consisten en el ID del cliente y un secreto del cliente. Los secretos del cliente solo se pueden generar para clientes confidenciales. El panel Secretos estará oculto para los clientes públicos.
Para generar un secreto del cliente:
- En el panel Secretos, haga clic en el botón +Secreto.
-
Proporcione lo siguiente:
- Descripción: Descripción opcional del secreto del cliente.
- Caducidad el: Si el secreto debe caducar, establezca la fecha y hora de caducidad. De lo contrario, deje este campo en blanco.
-
Haga clic en el botón Guardar.
- Copie el ID del cliente y el Secreto del cliente.
ADVERTENCIA: Esta es la única hora en la que el secreto será visible.
Registrar la URL de Redireccionamiento del Cliente
Como se indicó anteriormente, el flujo del código de autorización es un flujo interactivo. Durante este flujo, se redirige al usuario al extremo de autorización. Una vez que el usuario se ha autenticado, se lo redirige nuevamente a la aplicación cliente.
La URL de devolución de llamada de la aplicación cliente se denomina "URI de redireccionamiento". Cada URI de redireccionamiento debe estar registrada. Las URI de redireccionamiento del cliente deben cumplir con las siguientes restricciones:
- La URL de redireccionamiento del cliente debe ser una URL absoluta.
- La URL de redireccionamiento del cliente debe utilizar el protocolo HTTPS. Sin embargo, la URL de redireccionamiento del cliente puede utilizar el protocolo HTTP cuando se redirecciona a localhost.
- La URL de redireccionamiento del cliente puede contener una cadena de consultar.
- La URL de redireccionamiento del cliente no debe contener un fragmento.
Para registrar una URI de redireccionamiento de cliente:
- En el panel Redirecciones, haga clic en el botón + URL.
- Proporcione la URL.
- Haga clic en el botón Guardar.
Configurar la Aplicación Cliente
Cualquier aplicación cliente OIDC u OAuth 2.0 que cumpla con los estándares y que admita los flujos de Código de autorización o Credenciales de cliente puede utilizar el App Builder servidor de autorización. Esto incluye App Builder en sí: es posible configurar una segunda instancia de App Builder como cliente.
Para configurar el App Builder cliente, necesitarás:
- App Builder URL raíz del servidor de autorización, por ejemplo
https://example.com/App Builder
. - ID de cliente y secreto (ver arriba)
Comience iniciando sesión en la instancia de cliente de App Builder como administrador:
- Haga clic en el enlace IDE.
- Haga clic en el botón Proveedores de seguridad.
- En el panel Autenticación de usuario, haga clic en el botón +Autenticación de usuario.
-
Proporcione lo siguiente:
- Nombre: Nombre del proveedor de seguridad, por ejemplo
App Builder
. - Tipo: App Builder / Conexión OpenID
- Mostrar en el formulario de inicio de sesión: marque esta opción para mostrar la opción de inicio de sesión en el formulario de inicio de sesión.
- Aprovisionamiento de usuarios: marque esta opción para habilitar el aprovisionamiento de usuarios.
- Nombre: Nombre del proveedor de seguridad, por ejemplo
-
Haga clic en el botón Guardar.
- En el panel Extremos, haga clic en el botón + Extremo.
-
Proporcione lo siguiente:
- Tipo de Extremo: Emisor de OpenID Connect
- URL. La App Builder URL raíz del servidor de autorización.
-
Haga clic en el botón Guardar.
- En el panel Credenciales, haga clic en el botón +Credencial.
-
Proporcione lo siguiente:
- Tipo: Cliente
- Nombre de usuario: El ID del cliente (ver arriba).
- Contraseña: El secreto del cliente (ver arriba).
-
Haga clic en el botón Guardar.
- En el panel Proveedor, haga clic en el botón Editar.
- Marque la opción Habilitado.
- Haga clic en el botón Guardar.
Una vez completado, los usuarios podrán iniciar sesión en el cliente. App Builder instancia utilizando el App Builder servidor de autorización.
Limitaciones Conocidas
El App Builder el servidor de autorización no admite lo siguiente:
- Consentimiento del usuario.
- Flujos implícitos o híbridos de OIDC