IP Library Granted Patent US 10,348,716
Granted Patent B2
US 10,348,716 · App. 15/869,451 · Granted Jul 9, 2019

Seamless authentication for an application development platform

Inventor: Matthew D. Wood (Leeds, GB)
Assignee: FinancialForce.com, Inc.
H04L63/08G06F8/30G06F21/44G06Q50/01H04L63/0815H04L63/166H04L67/02H04L67/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,348,716
App. No.
15/869,451
Granted
Jul 9, 2019
Kind
B2
Abstract

Various embodiments concern mechanisms for facilitating communication between network-accessible platforms for developing, hosting, or running hybrid applications that utilize resources hosted across multiple platforms. Hybrid applications cause messages or “calls” to be passed between the platforms that must be authenticated. For example, when a call is placed by a Heroku platform to a Force.com platform, the call must be authenticated for security purposes. If Heroku has not already been authenticated when the call is submitted, an authentication process is invoked. An event listener can be used to register details regarding the initial callout task, and then register or “fire” an event when the authentication process is successfully completed. Registration of the initial callout task completely separates the authentication process from the resource being invoked. Requests can be completed without requiring further user input using at least some of the details registered by the event listener.

Claims (35)

1. A method comprising:

receiving, at an application development platform, an initial call from an application for a resource that is hosted by an external service;

registering details regarding the initial call using an event listener;

determining whether the external service is a registered client of the application development platform;

responsive to determining the external service is not a registered client, invoking an authentication process; and

passing at least some of the details regarding the initial call through the authentication process;

causing the event listener to register an event when the authentication process is successfully completed; and

responsive to the event listener registering the event,

completing the initial call for the resource using the details registered by the event listener.

2. The method of claim 1 , wherein the event listener is programmed in Java.

3. The method of claim 1 , wherein the external service is a Force.com platform, and wherein the authentication process is an OAuth 2.0 web server authentication process facilitated by the Force.com platform.

4. The method of claim 1 , wherein the resource includes data hosted by the external service or a process to be executed by the external service.

5. The method of claim 1 , wherein the details include a description of the resource, a username, and an identifier that identifies the application where the initial call originated.

6. The method of claim 5 , wherein the at least some details passed through the authentication process include the username, the identifier, or both.

7. The method of claim 1 , further comprising:

receiving, from the external service, an address of an application programming interface (API) to be used by the application development platform for making subsequent calls to the external service.

8. The method of claim 7 , wherein the API is used by the application development platform to gain programmatic access to processes and data associated with the external service.

9. The method of claim 7 , wherein the subsequent calls by the application development platform are made directly to the API of the external service.

10. A network-accessible platform for developing applications, the platform comprising:

a processor; and

a memory that includes instruction that, when executed by the processor, cause the processor to:

receive a Hypertext Transfer Protocol (HTTP) call from an application for a resource that is hosted by a Force.com platform;

register details regarding the HTTP call within the memory using an event listener;

determining whether the Force.com platform is a registered client of the network-accessible platform;

responsive to determining the Force.com platform is not a registered client, invoke an authentication mechanism; and

pass at least some of the details regarding the initial call to the authentication mechanism;

continuously monitor whether the event listener has registered an event in response to successful authentication by the authentication mechanism; and

responsive to determining the event listener has registered the event,

retrieve the details associated with the HTTP call from within the memory; and

complete the HTTP call for the resource using the details without requiring further user input at the application.

11. The network-accessible platform of claim 10 , wherein the instructions further cause the processor to:

receive, from the Force.com platform, an address to an application programming interface (API) upon successful authentication by the authentication mechanism,

where the API provides programmatic access to processes and data associated with the Force.com platform.

12. The network-accessible platform of 10 , wherein the resource includes data hosted by the Force.com platform or a process to be executed by the Force.com platform.

13. The network-accessible platform of claim 10 , wherein the authentication mechanism is an OAuth 2.0 web server authentication process facilitated by the Force.com platform.

Assignments (10)
CHANGE OF ADDRESS Recorded Sep 12, 2024
From: CERTINIA INC.
To: CERTINIA INC.
Reel/Frame 068948/0361 →
SECURITY INTEREST Recorded Aug 7, 2023
From: CERTINIA INC.
To: BLUE OWL CREDIT INCOME CORP., AS COLLATERAL AGENT
Reel/Frame 064510/0495 →
RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Aug 4, 2023
From: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: CERTINIA, INC.
Reel/Frame 064502/0117 →
CHANGE OF NAME Recorded Jun 20, 2023
From: FINANCIALFORCE.COM, INC.
To: CERTINIA INC.
Reel/Frame 064042/0206 →
RELEASE OF SECURITY INTEREST Recorded Mar 24, 2022
From: OBSIDIAN AGENCY SERVICES, INC.
To: FINANCIALFORCE.COM, INC.
Reel/Frame 059389/0501 →
SECURITY INTEREST Recorded Feb 21, 2022
From: FINANCIALFORCE.COM, INC.
To: KEYBANK NATIONAL ASSOCIATION
Reel/Frame 059204/0323 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUS APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 048416 FRAME: 0266. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 23, 2019
From: FINANCIALFORCE.COM, INC.
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 050836/0001 →
SECURITY INTEREST Recorded Feb 22, 2019
From: FINANCIALFORCE.COM, INC.
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 048416/0266 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 045956 FRAME: 0122. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 15, 2018
From: WOOD, MATTHEW D.
To: FINANCIALFORCE.COM, INC.
Reel/Frame 046373/0358 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2018
From: WOODS, MATTHEW D.
To: FINANCIALFORCE.COM, INC.
Reel/Frame 045956/0122 →
Continuity (2)
Continuation 15189218 · Jun 22, 2016
Related Publication 20180139197A1 · May 17, 2018
Cited By (1)
US 12,399,877