First-Party Widget Authentication in Third-Party Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud storage systems face security concerns when embedding first-party widgets in third-party applications, particularly due to risks like clickjacking, where attackers can trick users into unintended file access or modification.

Innovation Solution

Implementing a method where the first-party server authenticates third-party applications and origin identifiers before allowing access to the cloud storage system, ensuring only valid and authorized applications can embed and use first-party widgets, thereby restricting access and preventing unauthorized file interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If first-party widgets are embedded in third-party applications to facilitate file access, then user convenience and application functionality are improved, but security risks increase due to potential clickjacking attacks and unauthorized file interactions

Engineering Contradiction:
Improvefile access convenienceVSAvoidsecurity risks
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent introduces an intermediary authentication mechanism between the first-party widget and third-party application. The widget server acts as a mediator that receives authentication requests from the third-party application, verifies credentials, and grants access tokens. This intermediary layer prevents direct unauthorized access while maintaining convenient file access functionality through the embedded widget.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary authentication before the widget becomes functional. The third-party application must authenticate with the widget server and receive valid credentials before the widget can access files. This preliminary security check prevents clickjacking attacks and unauthorized interactions by ensuring only authenticated applications can embed and use the widget.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If authentication mechanisms are implemented to verify third-party applications, then security is improved, but system complexity increases due to additional verification steps

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the authentication logic into a separate widget server component, independent from both the first-party file system and third-party applications. This extraction reduces complexity within individual systems by moving authentication responsibilities to a dedicated intermediary service, while maintaining strong security through centralized credential verification.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10693881B2System and method for embedding first party widgets in third-party applications
Publication Date: 2020.06.23 GOOGLE LLC
  • US10693881B2 patent drawing
  • US10693881B2 patent drawing
  • US10693881B2 patent drawing

AI summary

Methods and systems for providing a third party application with access to files stored on a server are disclosed. A method may include receiving, from a browser at a client device, a request for a file stored on the server, wherein the request is received via a web page provided by the third party application and rendered by the browser, the web page comprising an embedded user interface (UI) component associated with the server to access the file stored on the server, wherein the request includes a document identifier associated with the file, an application identifier of the third-party application, and an origin identifier, wherein the origin identifier is associated with the web page provided by the third party application and rendered by the browser. The method may further include authenticating the application identifier at the server, wherein authenticating the application identifier comprises determining whether the application identifier references a valid application, and based on the document identifier, the authenticated application identifier and the origin identifier, granting access to the file for the third party application via the embedded UI component.