IP Library Granted Patent US 11,595,378
Granted Patent B2
US 11,595,378 · App. 16/891,756 · Granted Feb 28, 2023

Systems and methods for providing authentication in a microservice system

Inventors: Wei Liu (Beijing, CN); Henning Schmiedehausen (Los Altos, CA); Zhen Wang (Beijing, CN)
Assignee: Zuora, Inc.
H04L63/083H04W12/06
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 11,595,378
App. No.
16/891,756
Granted
Feb 28, 2023
Kind
B2
Abstract

Systems and methods providing authentication in a microservice system. In some embodiments, the method comprises receiving, from the user interface application, a user interface response corresponding to the user interface request; and sending the user interface response to the client computer. Some embodiments comprise when no cache entry corresponding to the user interface session token is present in the user interface session cache, directing the user interface request to a login service. Some embodiments comprise when the login service receives valid login credentials from the client computer, sending a new user interface session token to the client computer. Some embodiments comprise invalidating the cache entries in the user interface session cache according to a cache expiry policy; and determining whether the cache entry corresponding to the particular user interface session token is valid. In some embodiments, the user interface request session token consists of a single value.

Claims (64)

1. A multi-tenant computing system, comprising:

one or more hardware processors; and

memory storing instructions that, when executed by the one or more hardware processors, cause the multi-tenant computing system to perform:

receiving, from a client computer, a user interface request and a particular user interface session token;

determining whether a particular cache entry corresponding to the particular user interface session token is present in a user interface session cache, the user interface cache comprising a plurality of cache entries, wherein each of the plurality of cache entries comprises at least one respective session identifier, a respective tenant identifier, and a respective authentication credential, wherein the tenant identifier identifies one of a plurality of tenants of the multi-tenant computing system; and

when the particular cache entry corresponding to the particular user interface session token is present in the user interface session cache:

retrieving, from the user interface session cache, the particular cache entry corresponding to the particular user interface session token,

obtaining the at least one session identifier, the tenant identifier, and the authentication credential from the particular cache entry, and

providing the user interface request, the obtained at least one session identifier, the obtained tenant identifier, and the obtained authentication credential to a user interface application, the user interface application configured to generate a respective session to a respective service based on each of the at least one respective session identifier;

wherein the user interface application transmits the user interface request, the obtained tenant identifier, and the obtained authentication credential over each respective session to the respective service; and

wherein each respective service authenticates the user using the obtained authentication credential, retrieves tenant-specific data according to the obtained tenant identifier, and performs a service process using the retrieved tenant-specific data according to the user interface request.

2. The multi-tenant computing system of claim 1 , wherein the instructions further cause the one or more processors to perform:

receiving, from the user interface application, a user interface response corresponding to the user interface request; and

sending the user interface response to the client computer.

3. The multi-tenant computing system of claim 1 , wherein the instructions further cause the one or more processors to perform:

when the particular cache entry corresponding to the user interface session token is not present in the user interface session cache, directing the user interface request to a login service.

4. The multi-tenant computing system of claim 3 , wherein the instructions further cause the one or more processors to perform:

when the login service receives valid login credentials from the client computer, sending a new user interface session token to the client computer.

5. The multi-tenant computing system of claim 1 , wherein the instructions further cause the one or more processors to perform:

invalidating one or more of the cache entries in the user interface session cache according to a cache expiry policy; and

determining whether the particular cache entry corresponding to the particular user interface session token is valid.

6. The multi-tenant computing system of claim 1 , wherein the at least one respective session identifier includes at least two respective session identifiers.

7. The multi-tenant computing system of claim 1 , wherein the authentication credential is an Open Authorization (OAuth) bearer token.

8. A method being implemented by a multi-tenant computing system including one or more physical processors and storage media storing machine-readable instructions, the method comprising:

receiving, from a client computer, a user interface request and a particular user interface session token;

determining whether a particular cache entry corresponding to the particular user interface session token is present in a user interface session cache, the user interface cache comprising a plurality of cache entries, wherein each of the plurality of cache entries comprises at least one respective session identifier, a respective tenant identifier, and a respective authentication credential, wherein the tenant identifier identifies one of a plurality of tenants of the multi-tenant computing system; and

when the particular cache entry corresponding to the particular user interface session token is present in the user interface session cache:

retrieving, from the user interface session cache, the particular cache entry corresponding to the particular user interface session token,

obtaining the at least one session identifier, the tenant identifier, and the authentication credential from the particular cache entry, and

providing the user interface request, the obtained at least one session identifier, the obtained tenant identifier, and the obtained authentication credential to a user interface application, the user interface application configured to generate a respective session to a respective service based on each of the at least one respective session identifier;

wherein the user interface application transmits the user interface request, the obtained tenant identifier, and the obtained authentication credential over each respective session to the respective service; and

wherein each respective service authenticates the user using the obtained authentication credential, retrieves tenant-specific data according to the obtained tenant identifier, and performs a service process using the retrieved tenant-specific data according to the user interface request.

9. The method of claim 8 , further comprising:

receiving, from the user interface application, a user interface response corresponding to the user interface request; and

sending the user interface response to the client computer.

10. The method of claim 8 , further comprising:

when the particular cache entry corresponding to the user interface session token is not present in the user interface session cache, directing the user interface request to a login service.

11. The method of claim 10 , further comprising:

when the login service receives valid login credentials from the client computer, sending a new user interface session token to the client computer.

12. The method of claim 8 , further comprising:

invalidating one or more of the cache entries in the user interface session cache according to a cache expiry policy; and

determining whether the particular cache entry corresponding to the particular user interface session token is valid.

13. The method of claim 8 , wherein the at least one respective session identifier includes at least two respective session identifiers.

14. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors in a multi-tenant computing system to perform:

receiving, from a client computer, a user interface request and a particular user interface session token;

determining whether a particular cache entry corresponding to the particular user interface session token is present in a user interface session cache, the user interface cache comprising a plurality of cache entries, wherein each of the plurality of cache entries comprises at least one respective session identifier, a respective tenant identifier, and a respective authentication credential, wherein the tenant identifier identifies one of a plurality of tenants of the multi-tenant computing system; and

when the particular cache entry corresponding to the particular user interface session token is present in the user interface session cache:

retrieving, from the user interface session cache, the particular cache entry corresponding to the particular user interface session token,

obtaining the at least one session identifier, the tenant identifier, and the authentication credential from the particular cache entry, and

providing the user interface request, the obtained at least one session identifier, the obtained tenant identifier, and the obtained authentication credential to a user interface application, the user interface application configured to generate a respective session to a respective service based on each of the at least one respective session identifier;

wherein the user interface application transmits the user interface request, the obtained tenant identifier, and the obtained authentication credential over each respective session to the respective service; and

wherein each respective service authenticates the user using the obtained authentication credential, retrieves tenant-specific data according to the obtained tenant identifier, and performs a service process using the retrieved tenant-specific data according to the user interface request.

15. The non-transitory computer readable medium of claim 14 , wherein the instructions further cause the one or more processors to perform:

receiving, from the user interface application, a user interface response corresponding to the user interface request; and

sending the user interface response to the client computer.

16. The non-transitory computer readable medium of claim 14 , wherein the instructions further cause the one or more processors to perform:

when the particular cache entry corresponding to the user interface session token is not present in the user interface session cache, directing the user interface request to a login service.

17. The non-transitory computer readable medium of claim 16 , wherein the instructions further cause the one or more processors to perform:

when the login service receives valid login credentials from the client computer, sending a new user interface session token to the client computer.

18. The non-transitory computer readable medium of claim 14 , wherein the instructions further cause the one or more processors to perform:

invalidating one or more of the cache entries in the user interface session cache according to a cache expiry policy; and

determining whether the particular cache entry corresponding to the particular user interface session token is valid.

19. The non-transitory computer readable medium of claim 14 , wherein the at least one respective session identifier includes at least two respective session identifiers.

20. The non-transitory computer readable medium of claim 14 , wherein the authentication credential is an Open Authorization (OAuth bearer token.

Assignments (2)
SECURITY INTEREST Recorded Feb 14, 2025
From: ZUORA, INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 070236/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2023
From: LIU, WEI; SCHMIEDEHAUSEN, HENNING; WANG, ZHEN
To: ZUORA, INC.
Reel/Frame 062392/0769 →
Continuity (2)
Provisional Application 62856717 · Jun 3, 2019
Related Publication 20200382488A1 · Dec 3, 2020
Cited By (1)
US 12,323,409