Autenticacion
Auris soporta multiples metodos de autenticacion para adaptarse a las necesidades de seguridad de tu aplicacion.
Metodos disponibles
Email + Contrasena
Autenticacion tradicional con verificacion de email
Social Login
Google, GitHub, Microsoft, Apple
SSO Enterprise
SAML 2.0 y OpenID Connect
Passkeys
WebAuthn/FIDO2 biometrico
MFA
TOTP y codigos de respaldo
Magic Links
Acceso sin contrasena por email
Email + Contrasena
El metodo mas comun. Incluye:
- Verificacion de email obligatoria
- Validacion de fortaleza de contrasena
- Recuperacion de contrasena segura
- Proteccion contra fuerza bruta
Configuracion
// Dashboard: Configuracion → Autenticacion
// Opciones disponibles:
{
"emailPassword": {
"enabled": true,
"requireEmailVerification": true,
"passwordPolicy": {
"minLength": 8,
"requireUppercase": true,
"requireLowercase": true,
"requireNumbers": true,
"requireSpecialChars": false
}
}
}Social Login
Permite a los usuarios autenticarse con sus cuentas existentes.
Proveedores soportados
- Google - OAuth 2.0
- GitHub - OAuth 2.0
- Microsoft - Azure AD / Microsoft Account
- Apple - Sign in with Apple
Configurar Google
- Ve a Google Cloud Console
- Crea un proyecto o selecciona uno existente
- Ve a APIs & Services → Credentials
- Crea un OAuth 2.0 Client ID
- Agrega los URIs de redireccion autorizados:
https://api.aurisid.com/social/google/callback - Copia el Client ID y Client Secret
- En el dashboard de Auris, ve a Social Providers → Google
- Pega las credenciales y activa el proveedor
Configurar GitHub
- Ve a GitHub Developer Settings
- Crea una nueva OAuth App
- Configura la Authorization callback URL:
https://api.aurisid.com/social/github/callback - Copia el Client ID y genera un Client Secret
- Configura en el dashboard de Auris
SSO Enterprise
Para clientes empresariales que requieren integracion con su Identity Provider.
SAML 2.0
// Configuracion de conexion SAML
{
"name": "Okta SSO",
"protocol": "saml",
"domain": "empresa.com",
"samlConfig": {
"entryPoint": "https://empresa.okta.com/app/xxxxx/sso/saml",
"issuer": "https://api.aurisid.com",
"cert": "-----BEGIN CERTIFICATE-----\nMIIC...\n-----END CERTIFICATE-----"
}
}OpenID Connect
// Configuracion de conexion OIDC
{
"name": "Azure AD",
"protocol": "oidc",
"domain": "empresa.com",
"oidcConfig": {
"issuer": "https://login.microsoftonline.com/{tenant}/v2.0",
"clientId": "xxxxx",
"clientSecret": "xxxxx",
"scopes": ["openid", "profile", "email"]
}
}Passkeys (WebAuthn)
Autenticacion biometrica sin contrasenas usando el estandar FIDO2.
Beneficios
- Sin contrasenas que recordar
- Resistente a phishing
- Autenticacion rapida con huella o Face ID
- Cumple con requisitos de seguridad enterprise
Implementacion
import { useAuth } from '@auris/react';
function PasskeySetup() {
const { user, registerPasskey } = useAuth();
const handleSetup = async () => {
try {
await registerPasskey({
deviceName: 'Mi MacBook',
});
alert('Passkey registrado!');
} catch (error) {
console.error('Error:', error);
}
};
return (
<button onClick={handleSetup}>
Agregar Passkey
</button>
);
}Multi-Factor Authentication (MFA)
Agrega una capa extra de seguridad requiriendo un segundo factor.
TOTP (Time-based One-Time Password)
Compatible con Google Authenticator, Authy, 1Password, etc.
Activar MFA para un usuario
import { useAuth } from '@auris/react';
function MfaSetup() {
const { setupMfa, verifyMfa } = useAuth();
const [qrCode, setQrCode] = useState('');
const [code, setCode] = useState('');
const handleSetup = async () => {
const { qrCodeUri, secret } = await setupMfa();
setQrCode(qrCodeUri);
};
const handleVerify = async () => {
try {
const { backupCodes } = await verifyMfa(code);
// Mostrar codigos de respaldo al usuario
console.log('Codigos de respaldo:', backupCodes);
} catch (error) {
console.error('Codigo invalido');
}
};
return (
<div>
{!qrCode ? (
<button onClick={handleSetup}>Configurar MFA</button>
) : (
<div>
<img src={qrCode} alt="QR Code" />
<input
type="text"
value={code}
onChange={(e) => setCode(e.target.value)}
placeholder="Codigo de 6 digitos"
/>
<button onClick={handleVerify}>Verificar</button>
</div>
)}
</div>
);
}Codigos de respaldo
Cuando un usuario activa MFA, se generan automaticamente codigos de respaldo de un solo uso. Estos permiten acceder a la cuenta si pierde acceso al dispositivo de autenticacion.
Magic Links
Permite a los usuarios iniciar sesion con un enlace enviado a su email.
import { useMagicLink } from '@auris/react';
function MagicLinkLogin() {
const { sendMagicLink, isLoading } = useMagicLink();
const [email, setEmail] = useState('');
const [sent, setSent] = useState(false);
const handleSend = async () => {
await sendMagicLink(email);
setSent(true);
};
if (sent) {
return <p>Revisa tu email para el enlace de acceso.</p>;
}
return (
<div>
<input
type="email"
value={email}
onChange={(e) => setEmail(e.target.value)}
placeholder="tu@email.com"
/>
<button onClick={handleSend} disabled={isLoading}>
Enviar Magic Link
</button>
</div>
);
}Seguridad adicional
Rate Limiting
Proteccion automatica contra ataques de fuerza bruta:
- 5 intentos fallidos → bloqueo de 1 minuto
- 10 intentos fallidos → bloqueo de 5 minutos
- 20 intentos fallidos → bloqueo de 1 hora
Deteccion de dispositivos
Alertas automaticas cuando se detecta un inicio de sesion desde un nuevo dispositivo o ubicacion.