Feature Toggle API Validation for Unauthorized Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing REST APIs expose all features to all clients, which is problematic as not all features should be accessible to all users, especially when features may be unlicensed, unsupported by certain platforms, or still under development.

Innovation Solution

Implementing a feature toggle system that parses feature tags to determine the state of each feature, enabling or disabling them based on licensing, platform support, and development status, allowing for dynamic control of feature availability and early validation of requests to prevent processing of invalid requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If all features are exposed to all clients in a REST API, then the API provides complete functionality and simplicity, but unlicensed features, unsupported features, and immature features become accessible to clients who should not have access

Engineering Contradiction:
Improvefeature availability controlVSAvoidunauthorized feature access
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces an intermediary validation mechanism that sits between the REST API and the client. This intermediary parses feature tags from incoming requests, validates them against a configured feature set, and either permits or rejects the request based on validation results. This mediator layer enables selective feature exposure without modifying the core API functionality, resolving the contradiction between providing complete functionality and preventing unauthorized access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary validation of feature tags before processing the actual API request. By checking whether the requested feature is licensed, supported, and mature before executing the request, the system prevents unauthorized feature access in advance. This preliminary action approach allows the API to maintain complete functionality while blocking access to features that should not be exposed to particular clients.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If feature validation is performed for each request, then unauthorized feature access is prevented, but system resource consumption increases due to validation overhead

Engineering Contradiction:
Improvefeature access controlVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent performs feature validation as a preliminary step before full request processing. By validating feature tags early in the request lifecycle, the system prevents unnecessary processing of requests for unauthorized features. This preliminary validation approach ensures reliable feature access control while minimizing resource consumption by avoiding deep processing of requests that will ultimately be rejected.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the request processing into distinct phases: feature tag parsing, validation against the configured feature set, and then either permitting or rejecting the request. This segmentation allows the validation logic to operate independently and efficiently, preventing system resources from being consumed by requests that fail the validation check. The segmented approach maintains reliability while optimizing resource usage.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If feature tags are parsed and validated for each API element, then precise control over feature accessibility is achieved, but the complexity of the API processing increases

Engineering Contradiction:
Improvefeature control precisionVSAvoidAPI processing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary validation layer that handles the complexity of feature tag parsing and validation. This mediator component encapsulates the complex logic for interpreting feature tags, comparing them against the configured feature set, and making authorization decisions. By isolating this complexity in a dedicated intermediary layer, the core REST API remains simple while achieving precise feature control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the feature validation logic from the main API processing flow into a separate, dedicated validation mechanism. By taking out the complex feature tag parsing and validation logic into its own component, the system achieves precise feature control without increasing the complexity of the core API. The extracted validation logic operates independently, allowing precise control while maintaining API simplicity.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If invalid requests are processed completely before rejection, then all processing stages are executed, but system resources are wasted on requests that should have been rejected earlier

Engineering Contradiction:
Improverequest processing throughputVSAvoidwasted system resources
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements preliminary validation of feature tags at the beginning of request processing, before any substantial computation or resource allocation occurs. By performing this preliminary check early in the request lifecycle, the system can reject invalid requests immediately without proceeding to later processing stages. This preliminary action approach maintains high productivity for valid requests while minimizing resource waste on invalid ones.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables the system to skip the processing of requests that fail feature validation. By rapidly identifying and rejecting requests with invalid or unauthorized feature tags, the system rushes through the validation phase and avoids unnecessary processing of the request body, business logic execution, and other resource-intensive operations. This skipping mechanism preserves productivity for valid requests while reducing energy loss from processing invalid ones.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS10262155B1Disabling features using feature toggle
Publication Date: 2019.04.16 EMC IP HLDG CO LLC
  • US10262155B1 patent drawing
  • US10262155B1 patent drawing
  • US10262155B1 patent drawing

AI summary

Examples are generally directed towards disabling features using a feature toggle associated with an application programming interface (API). A server receives an API request including one or more elements. An element is associated with a set of features. If a feature state of every feature within the set of features is an enabled feature state, the element state is an enabled element state and the request is validated. The validated request is executed and a response to the request is returned to the client. If at least one feature state of at least one feature within the set of features is a disabled feature state or a hidden feature state, the element state is a disabled element state and the request is invalided. The invalidated request is rejected and an error message is returned to the client.