IP Library Granted Patent US 10,033,740
Granted Patent B2
US 10,033,740 · App. 15/197,728 · Granted Jul 24, 2018

Inter-application management of user credential data

Inventors: John Simone (San Francisco, CA); Fiaz Hossain (San Francisco, CA)
Assignee: salesforce.com, inc.
H04L63/10G06F8/20G06F17/30864G06F21/41H04L63/08H04L67/42H04L63/105
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,033,740
App. No.
15/197,728
Granted
Jul 24, 2018
Kind
B2
Abstract

A system and apparatus for enhancing the functionality and utility of an authentication process for web applications is disclosed.

Claims (37)

1. A computer-implemented method for providing a software development kit (SDK) for a client web application that performs user authorizations, wherein the SDK has an enhanced set of authorization application program interfaces (APIs), the method comprising:

providing a resource, with one or more computing devices, to utilize the developer-defined user information for at least authorization, wherein the developer-defined user information comprises at least a user identifier for an on-demand database service; and

providing, with the one or more computing devices, access to the resource that can either use a cookie, or server-side storage for storing the developer-defined user information, wherein when the cookie is to be used perform user authorizations, the cookie is sent for authentication purposes to provide re-authentication with each request each time a user makes a request, and wherein when using the server-side storage, the hardware computing device is caused to be configured to not write locally to an application memory, but instead to access a shared session cache memory; and

providing, with the one or more computing devices, the resource to choose between two of security framework configurations, wherein a first configuration utilizes a cookie and a second configuration utilizes server-side storage.

2. The method of claim 1 , wherein the security framework comprises a plurality of generic servlet filters and spring security filters.

3. The method of claim 1 , wherein the generic servlet filter performs OAuth flow and routes the user to the login page.

4. The method of claim 1 , wherein the generic servlet filter is used within servlet-based web applications that operate without using any specific security framework.

5. The method of claim 1 , further comprising:

the generic servlet filter resulting in exactly one of the following outcomes,

finding a cookie or session containing that user's SecurityContext, so that the user is recognized;

not finding a cookie or session containing that user's SecurityContext, and sending that user to an authorization resource locator to begin an OAuth handshake; or

sending a token request to obtain a Session ID, API endpoint, and authentication (refresh) token.

6. The method of claim 1 , further comprising:

facilitating a choice between storing user data in browser cookies or server side sessions, thereby resulting in application instances being completely stateless.

7. The method of claim 1 , further comprising:

during a server side session, not writing locally to an application memory, but instead using a shared session cache, where each of a plurality of servers writes to a specific session cache.

8. The method of claim 1 , wherein one of a plurality of guidelines for the developer-defined user information is including data that is needed often, thereby precluding the client application from continually querying for this data.

9. The method of claim 1 , further comprising:

including only frequently looked-up data within the developer-defined user information.

10. The method of claim 1 wherein the developer-defined user information comprises a custom database object to store authorization tokens from one or more social media platforms.

11. The method of claim 1 wherein the developer-defined user information comprises frequently used information from a customer relationship management (CRM) platform.

12. A multi-tenant database system having one or more hardware processors coupled with one or more memory devices, the system comprising:

a database system to store data in the one or more memory devices for each of multiple tenants;

an application server communicably coupled to the database system and to a network, the application server to provide network access to the database system for each of the multiple tenants, the application server utilizing a software development kit (SDK) for building client applications that are to be accessible on the application server, the SDK having authorization application program interfaces (APIs); and

wherein the authorization APIs include at least developer-defined user information comprising at least a user identifier for the multi-tenant database system and providing access to at least two security framework configurations using cookies or using server-side storage, wherein when the cookie is to be used perform user authorizations, the cookie is sent for authentication purposes to provide re-authentication with each request each time a user makes a request, and wherein when using the server-side storage, a hardware computing device is caused to be configured to not write locally to an application memory, but instead to access a shared session cache memory.

13. A non-transitory machine-readable medium carrying one or more sequences of instructions for implementing a method for providing an interface for object relationships having at least a software development kit (SDK) for a client web application that performs user authorizations, wherein the SDK has an enhanced set of authorization application program interfaces (APIs), comprising:

wherein that enhanced set of APIs including the following;

providing access to a resource that can either use a cookie, or server-side storage for storing the developer-defined user information, wherein when the cookie is to be used perform user authorizations, the cookie is sent for authentication purposes to provide re-authentication with each request each time a user makes a request, and wherein when using the server-side storage, the hardware computing device is caused to be configured to not write locally to an application memory, but instead to access a shared session cache memory; and

providing the resource to choose between two of security framework configurations, wherein a first configuration utilizes the cookie and a second configuration utilizes server-side storage.

14. The non-transitory machine-readable medium of claim 13 , wherein the security framework comprises a plurality of generic servlet filters and spring security filters.

15. The non-transitory machine-readable medium of claim 13 , wherein the generic servlet filter performs OAuth flow and routes the user to the login page.

16. The non-transitory machine-readable medium of claim 13 , wherein the generic servlet filter is used within servlet-based web applications that operate without using any specific security framework.

17. The non-transitory machine-readable medium of claim 13 , further comprising:

during a server side session, not writing locally to an application memory, but instead using a shared session cache, where each of a plurality of servers writes to a specific session cache.

18. The non-transitory machine-readable medium of claim 13 , wherein one of a plurality of guidelines for the developer-defined user information is including data that is needed often, thereby precluding the client application from continually querying for this data.

19. The non-transitory machine-readable medium of claim 13 , further comprising:

including only frequently looked-up data within the developer-defined user information.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: SIMONE, JOHN; HOSSAIN, FIAZ
To: SALESFORCE.COM, INC.
Reel/Frame 039896/0969 →
Continuity (3)
Continuation 13178511 · Jul 8, 2011
Provisional Application 61474538 · Apr 12, 2011
Related Publication 20170006037A1 · Jan 5, 2017