Un login es una forma de autenticarse. Una cuenta es lo que se factura. Una cuenta puede
tener varios logins, y esa relación es portante.
Por qué la cuenta, no el login
Los techos de tasa, el saldo prepago, los límites de crédito y los extractos están todos asociados a
la cuenta.
Un límite por login permitiría a un cliente subirse su propio techo creando otro login. Asociar a la
cuenta es lo que hace que el límite signifique algo.
Para la API REST, establezca tanto systemId como password. Una credencial que solo tiene un
apiKey es configuración válida y no puede autenticarse: se rechaza con 403.
Dos campos, defaults opuestos
Deliberado. El producto selecciona la tasa, así que un login que pudiera nombrar cualquier producto
podría elegir su propio precio. Nombrar uno que no le ha sido concedido se rechaza en lugar de
permitirse por omisión.
Rotar un secreto
Un cliente rota el suyo desde el portal, y el nuevo secreto se muestra exactamente una vez. Un
operador también puede hacerlo desde la página de la cuenta.
Desactivar un login corta sus binds vivos. Ese es el comportamiento deseado (de lo contrario una
credencial revocada seguiría enviando hasta que la sesión cayera por casualidad), pero significa que
desactivar uno en horario de oficina interrumpe el tráfico inmediatamente.
TLVs por defecto en una credencial
Valores suministrados en nombre del cliente cuando su submit_sm no los lleva.
Aplicados después de los tags en el mensaje (un valor que el cliente envió siempre gana) y
antes de la comprobación mandatory.tlvs.submit del listener, de modo que una credencial puede
satisfacer un tag requerido en nombre de un cliente que nunca lo envía.
Los defaults de TLV de la credencial se toman como instantánea en el bind. A diferencia del
enrutamiento y las propiedades, editarlos aplica en el próximo bind de ese cliente, no a
sesiones ya conectadas.
La gramática, y por qué 1400 y 0x1400 son tags distintos, está en
Declaraciones TLV.
Dónde viven las credenciales
Cambiar a db contra un app_credential vacío rechaza todo bind y toda llamada REST a la vez.
El cargador publica el mapa vacío en lugar de recurrir al archivo.fireflo import credentials rechaza incondicionalmente cuando no produciría una credencial usable,
con flag o sin él. Ese rechazo existe precisamente para prevenir esto.
Las claves desconocidas se advierten, no se rechazan
Así una configuración más nueva carga en una build más antigua. Un tipo se descarta en silencio:
lea el log tras editar si un campo parece no tener efecto.
Lo que un cliente ve de lo suyo
Desde el portal: sus logins, dónde enviar y un botón para rotar. Nunca los de otra cuenta, y nunca
un secreto que no acabe de crear. Consulte Acceso al portal.