IP Library Granted Patent US 9,405,896
Granted Patent B2
US 9,405,896 · App. 13/178,511 · Granted Aug 2, 2016

Inter-application management of user credential data

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 9,405,896
App. No.
13/178,511
Granted
Aug 2, 2016
Kind
B2
Abstract

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

Claims (34)

1. A method, comprising:

providing, with a hardware computing device, at least one of two security framework configurations, wherein a first configuration utilizes a cookie and a second configuration utilizes server-side storage;

performing user authorization, with the hardware computing device, using at least one of the two security framework configurations, wherein performing the user authorizations with the cookie includes providing a cookie stored on the hardware computing device and the server-side storage includes storing developer-defined user information (DDUI), wherein the DDUI comprises at least a user identifier for on-demand database service;

wherein when using the cookie to perform user authorizations, each time a user makes a request the cookie is sent for authentication purposes to provide re-authentication with each request, wherein either the user is recognized because the cookie or a session context containing a security token was provided, or the user is not recognized and diverted to a security handshake, or a token request is utilized to obtain a session identifier, API endpoint and authentication token;

wherein when using the server-side storage, the hardware computing device is configured to not write locally to an application memory, but instead to access a shared session cache, where each of a plurality of servers are to be given access to a specific session cache; and

wherein performing the user authorizations is done through a client web application executed by a hardware computing device to allow access to an on-demand database service.

2. The method of claim 1 , wherein a security framework to provide the at least one of two security framework configurations comprises a plurality of generic servlet filters and spring security filters.

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

4. The method of claim 3 , 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:

a 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 url 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. A multi-tenant database system, comprising:

a group of hardware computing devices providing a database system to store data for each of multiple tenants;

an application server communicably coupled to the database system and to a network, the application server to provide at least one of two security framework configurations, wherein a first configuration utilizes a cookie and a second configuration utilizes server-side storage, to perform user authorization using at least one of the two security framework configurations, wherein performing the user authorizations with the cookie includes providing the cookie stored on the hardware computing device and the server-side storage includes storing developer-defined user information (DDUI), wherein the DDUI comprises at least a user identifier for the on-demand database service, wherein when using the cookie to perform user authorizations, each time a user makes a request the cookie is sent for authentication purposes to provide re-authentication with each request, wherein either the user is recognized because the cookie or a session context containing a security token was provided, or the user is not recognized and diverted to a security handshake, or a token request is utilized to obtain a session identifier, API endpoint and authentication token, and wherein when using the server-side storage, the hardware computing device is configured to not write locally to an application memory, but instead to access a shared session cache, where each of a plurality of servers are to be given access to a specific session cache, and wherein performing the user authorizations is done through a client web application executed by a hardware computing device to allow access to an on-demand database service.

8. A non-transitory machine-readable medium carrying one or more sequences of instructions for implementing a method for providing an interface for object relationships, comprising:

performing user authorization, with the hardware computing device, using at least one of the two security framework configurations, wherein performing the user authorizations with the cookie includes providing a cookie stored on the hardware computing device and the server-side storage includes storing developer-defined user information (DDUI), wherein the DDUI comprises at least a user identifier for on-demand database service;

wherein when using the cookie to perform user authorizations, each time a user makes a request the cookie is sent for authentication purposes to provide re-authentication with each request, wherein either the user is recognized because the cookie or a session context containing a security token was provided, or the user is not recognized and diverted to a security handshake, or a token request is utilized to obtain a session identifier, API endpoint and authentication token;

wherein when using the server-side storage, the hardware computing device is configured to not write locally to an application memory, but instead to access a shared session cache, where each of a plurality of servers are to be given access to a specific session cache; and

wherein performing the user authorizations is done through a client web application executed by a hardware computing device to allow access to an on-demand database service.

9. The non-transitory machine-readable medium of claim 8 , wherein a security framework to provide the at least one of two security framework configurations comprises a plurality of generic servlet filters and spring security filters.

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

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

12. The non-transitory machine-readable medium of claim 8 , further comprising:

a 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 url to begin an OAuth handshake; or

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

13. The method of claim 8 , further comprising:

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

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2011
From: SIMONE, JOHN; HOSSAIN, FIAZ
To: SALESFORCE.COM, INC.
Reel/Frame 026559/0300 →