Usuarios internos
Los usuarios internos pueden autenticarse en uno o más métodos de autenticación login en un entorno, lo que permite personalizar la experiencia de inicio de sesión, por ejemplo según distintos requisitos de aplicación.
Sube tus usuarios desde un archivo CSV, con o sin contraseña.
Para una visión general de los conceptos de usuario (usuarios internos, usuarios externos y almacenes de usuarios externos), consulta el resumen de usuarios.
Identificadores de usuario
Los usuarios internos admiten tres identificadores de usuario: email, número de teléfono y nombre de usuario. Estos identificadores forman la credencial (parte del username) cuando un usuario inicia sesión con nombre de usuario y contraseña.
Puedes elegir habilitar uno, dos o los tres.
Solo número de teléfono como identificador de usuario.

Email, número de teléfono y nombre de usuario como identificadores de usuario.

Verificación de contraseña
Los usuarios internos pueden autenticarse con una contraseña. La contraseña se valida contra la política de contraseñas integrada (predeterminada o grupo de políticas) y opcionalmente contra una API de contraseña externa.
Política de contraseña integrada y caducidad
La política de contraseña predeterminada se configura en los ajustes del entorno en el FoxIDs Control Client y se aplica cuando no se asigna un grupo de política de contraseña al usuario.
- Selecciona la pestaña Settings
- Luego selecciona la pestaña Environment
- Busca la sección Password settings
- Configura el cuadro Default password policy:
- Password min length y Password max length para definir el rango permitido.
- Check password complexity para imponer variedad de clases de caracteres y garantizar que la contraseña no contenga partes de la URL o identificadores de usuario (email, teléfono, nombre de usuario).
- Check password risk based on global password breaches para rechazar contraseñas encontradas en listas de riesgo (auto hospedado ver risk Passwords).
- Banned characters (case-insensitive) para bloquear caracteres específicos.
- Password history (number of previous passwords, 0 to disable) para evitar la reutilización de contraseñas recientes.
- Password max age in seconds (0 to disable) para forzar un cambio cuando la contraseña es demasiado antigua.
- Soft password change in seconds (0 to disable) para permitir un periodo de gracia: durante el inicio de sesión, una contraseña no conforme o caducada solicita al usuario cambiarla pero aún puede iniciar sesión hasta que expire la ventana.
- Haz clic en Update

Grupos de políticas de contraseña
Puedes definir hasta 10 grupos de políticas de contraseña por entorno. Un grupo reemplaza la política de contraseña predeterminada para los usuarios a los que se les asigna.
- Selecciona la pestaña Settings
- Luego selecciona la pestaña Environment
- Busca la sección Password settings
- Configura el cuadro Password policy groups:
- Haz clic en Add policy group y establece los valores de la política (mismos campos que la política predeterminada) más un nombre y un nombre de pantalla opcional.
- Haz clic en Update
- Aplica un grupo a un usuario en Internal Users → editar el usuario → Advanced → Password policy, o establece el nombre de la política al aprovisionar vía Control API. Si no se selecciona ningún grupo, se usa la política predeterminada del entorno.
API de contraseña externa
Puedes configurar opcionalmente una API de contraseña externa para validar contraseñas y/o notificar cambios de contraseña.
Si la política de contraseña integrada rechaza la contraseña, no se llama a la API de contraseña externa. El método de notificación de la API de contraseña externa solo se llama si la contraseña ha pasado todas las comprobaciones de política configuradas.
Contraseña o contraseña de un solo uso (passwordless)
El método de autenticación login está configurado por defecto para nombre de usuario (identificador de usuario) + contraseña.
También puedes habilitar contraseña de un solo uso (OTP) por email y/o SMS para inicio de sesión sin contraseña, y puedes crear múltiples métodos de autenticación login con diferentes combinaciones.
Si tanto la contraseña como la OTP están habilitadas, se ofrecen todos los métodos habilitados. La UI también permite la creación de cuentas de autoservicio.

Si solo se habilita OTP por email:

Crear usuario
Dependiendo de la configuración del método login seleccionado, los usuarios pueden crear una cuenta en línea.
El usuario elige crear una cuenta nueva en la página de inicio de sesión.

Formulario para crear un usuario.

La página se compone de elementos dinámicos que pueden personalizarse por método login.
En este ejemplo, el formulario contiene los campos Given name, Family name, Email y Password.
El campo Email es un identificador de usuario utilizado para el inicio de sesión.
Esta es la configuración en el método login. Además, el claim some_custom_claim se añade a cada usuario como constante mediante una transformación de claims.

Aprovisionamiento
Los usuarios internos pueden crearse, actualizarse y eliminarse en el Control Client o aprovisionarse mediante la Control API. Y subir muchos usuarios desde un archivo CSV.

Autenticación multi factor (MFA)
La autenticación de dos factores / multi factor puede requerirse por usuario. El usuario debe entonces autenticarse con un factor adicional (SMS, email o app de autenticación) y puede registrar una app de autenticación si no está registrada.
Los segundos factores disponibles pueden configurarse por usuario y por método de login. Ver two-factor authentication.
Puedes ver si una app de autenticación está registrada y un administrador puede desactivarla.

Hash de contraseña
Solo se almacena un hash de contraseña.
El subsistema de hashing admite evolución: los metadatos del hash (algoritmo + parámetros) se almacenan con cada hash, lo que permite validar hashes antiguos mientras los nuevos hashes usan algoritmos / parámetros más recientes.
Algoritmo de hash compatible actualmente P2HS512:10 (definición):
- HMAC (
RFC 2104) con SHA-512 (FIPS 180-4) - 10 iteraciones almacenadas en los metadatos del hash, multiplicadas por 10,000 rondas PBKDF2 (100,000 iteraciones en total)
- Longitud de la sal: 64 bytes
- Longitud de la clave derivada: 80 bytes
- El hash y la sal se almacenan como cadenas codificadas en Base64 URL (Base64 sin padding)
Se utilizan bibliotecas estándar de .NET para calcular el hash.