Authorization Code Management for Static Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems fail to support dynamic authorization endpoints for multi-tenant applications, requiring modifications to standard libraries to acquire access tokens, which limits the use of standardized OAuth 2.0 libraries and SDKs.

Innovation Solution

The solution involves requesting authorization using tenant-specific endpoints to obtain both the authorization code and access token, allowing multi-tenant applications to use standard OAuth 2.0 libraries and SDKs by hardcoding the application's tenant-specific endpoint, and utilizing self-encoded signed tokens for authentication across disparate data centers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional systems use unique endpoints for every tenant across a marketing cloud, then multi-tenant applications can be supported, but standard OAuth 2.0 libraries cannot be used because they expect static endpoints

Engineering Contradiction:
Improvemulti-tenant application supportVSAvoiduse of standard OAuth 2.0 libraries
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system introduces an intermediary authorization service that mediates between the static endpoint expected by standard OAuth libraries and the dynamic tenant-specific endpoints required for multi-tenant support. This intermediary receives authorization requests from applications using standard libraries, resolves the appropriate tenant-specific endpoint dynamically, and completes the authorization flow, thereby enabling standard libraries to work with multi-tenant architectures without modification.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The authorization endpoint is segmented into a static base component (used by standard libraries) and a dynamic tenant-specific component (resolved at runtime). The system separates the authorization request handling into stages: the standard library communicates with a static endpoint, while the system dynamically segments and routes to the appropriate tenant-specific authorization endpoint based on the request context.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If standard libraries are modified to support dynamic authorization endpoints, then multi-tenant applications can function, but the libraries lose their standardization and require custom modifications

Engineering Contradiction:
Improvedynamic authorization endpoint supportVSAvoidmodifications to standard libraries
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Rather than modifying standard libraries, the system introduces an intermediary authorization service that handles dynamic endpoint resolution. This intermediary sits between the unmodified standard library and the multi-tenant system, translating standard authorization requests into tenant-specific requests without requiring any changes to the library code, thereby maintaining standardization while enabling dynamic endpoint support.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of modifying the library to adapt to dynamic endpoints, the system inverts the approach by making the endpoint static in the library and dynamically resolving the actual tenant-specific endpoint on the server side through the intermediary authorization service.

Inventive Principle:
Principle #13The other way round (Inversion)

3Reliability

If real-time authentication replication is implemented across data centers, then authentication consistency is improved, but system complexity and latency increase

Engineering Contradiction:
Improveauthentication consistencyVSAvoidreal-time authentication replication
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary authentication by obtaining the authorization code and access token from the tenant-specific authorization endpoint before the application needs to use them. The authenticated session and necessary credentials are pre-established and stored, eliminating the need for real-time authentication replication during subsequent operations, thereby reducing system complexity and latency while maintaining authentication consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of implementing complex real-time authentication replication across data centers, the system creates a copy of the authenticated session and access tokens locally after initial authentication. This allows the application to use cached authentication credentials without requiring real-time communication with the authentication server, reducing complexity and latency while maintaining reliability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11431500B2Authorization code management for published static applications
Publication Date: 2022.08.30 SALESFORCE INC
  • US11431500B2 patent drawing
  • US11431500B2 patent drawing
  • US11431500B2 patent drawing

AI summary

Among other things, embodiments of the present disclosure are directed to providing authorization code management for published static applications. Other embodiments may be described and/or claimed.