Desktop App SAML Auth via Web Intermediary

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Desktop applications are limited in authentication options as they are not typically designed to use Security Assertion Markup Language (SAML), requiring updates for SAML configurations, which is not feasible for most existing desktop applications.

Innovation Solution

A desktop application uses a browser control to communicate with a web application that acts as an intermediary with an identity server using SAML, enabling authentication through the web application programming interface (API), allowing both online and offline mode authentication and extensibility to different authentication techniques or providers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If desktop applications use SAML authentication directly, then authentication capability is improved, but device complexity and ease of manufacture worsen due to required SAML configurations

Engineering Contradiction:
Improveauthentication capabilityVSAvoidSAML configuration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A web application acts as an intermediary component between the desktop application and the identity server. The web application handles SAML protocol implementation and communication with the identity server, while the desktop application only needs to interact with the web application through standard web protocols. This intermediary approach enables SAML authentication capability without requiring the desktop application to implement complex SAML configurations directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If desktop applications implement their own authentication service, then authentication reliability is improved, but device complexity and ease of manufacture worsen

Engineering Contradiction:
Improveauthentication serviceVSAvoidauthentication implementation
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The authentication service functionality is extracted from the desktop application and relocated to a web application that can be deployed and managed separately. The web application implements the authentication logic and communicates with the identity server, while the desktop application serves as a thin client that leverages this external authentication service. This extraction allows the authentication service to be developed, tested, and maintained independently, improving ease of manufacture while maintaining reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If a web application acts as an intermediary, then adaptability to different authentication providers is improved, but device complexity worsens due to additional components

Engineering Contradiction:
Improveauthentication provider flexibilityVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The web application is designed as a universal intermediary that can work with multiple different identity providers and authentication protocols. It implements a standardized interface for the desktop application while supporting various authentication backends (SAML, OAuth, OpenID Connect, etc.). This multi-functionality allows the same web application component to serve different authentication providers, improving adaptability without requiring changes to the desktop application architecture.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12182251B2Web-based authentication for desktop applications
Publication Date: 2024.12.31 LANDIS GYR TECH INC
  • US12182251B2 patent drawing
  • US12182251B2 patent drawing
  • US12182251B2 patent drawing

AI summary

In one implementation, a system includes a web application and a desktop application, where the web application acts as an intermediary between the desktop application and an identity server. The desktop application loads a browser control to navigate an internal browser of the desktop application to the web application, and the web application redirects the internal browser to the identity server. The desktop application submits, via the internal browser, user credentials to authenticate a user of the desktop application to the identity server. The desktop application receives, at the internal browser, a cookie including an access token for the user of the desktop application. The desktop application transmits, to a web application programming interface (API) associated with the web application, an authentication request including the access token. The desktop application grants access to a resource of the desktop application based on an indication of authentication received from the web API.