validate method
override
Método obligatorio que implementa la lógica de validación
request - El request HTTP actual
jwtPayload - El payload decodificado del JWT
Retorna ValidationResult indicando éxito o falla con mensaje
Implementation
@override
ValidationResult validate(Request request, Map<String, dynamic> jwtPayload) {
// El desarrollador tiene control total sobre la estructura del JWT
final userRole = jwtPayload['role'] as String?;
final isActive = jwtPayload['active'] as bool? ?? false;
final permissions = jwtPayload['permissions'] as List<dynamic>? ?? [];
// Lógica personalizada del desarrollador
if (userRole != 'admin') {
return ValidationResult.invalid('User must be an administrator');
}
if (!isActive) {
return ValidationResult.invalid('Administrator account is inactive');
}
if (!permissions.contains('admin_access')) {
return ValidationResult.invalid('Missing admin access permission');
}
return ValidationResult.valid();
}