IP Library Granted Patent US 11,159,512
Granted Patent B1
US 11,159,512 · App. 16/935,453 · Granted Oct 26, 2021

Cross device single sign-on

Inventors: Liangang Shi (Nanjing, CN); Rulei Lin (Nanjing, CN); Zhenxing Liu (Nanjing, CN)
Assignee: Citrix Systems, Ine.
H04L63/0815H04L63/083H04L63/123
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,159,512
App. No.
16/935,453
Granted
Oct 26, 2021
Kind
B1
Abstract

Systems and methods for providing a single sign-on for authenticating a user via multiple client devices is provided. For example, the system includes a processor configured to receive a first connection request from a first client device. The processor processes the first connection request and transmits an access token to the first client. The processor can further receive a second connection request from a second client device and process the second connection request. The processor can transmit a single sign-on response to the second client device in reply to the second connection request. The second client device can be configured to communicated with and transmit the single-sign on response to the first client device for processing. The processor can receive a single sign-on verification from the first client device, process the single sign-on verification, and transmit a copy of the access token to the second client device.

Claims (98)

1. A computer system for providing a single sign-on for authenticating a user via multiple client devices in a distributed resource environment, the system comprising:

a memory;

a network interface; and at least one processor coupled to the memory and the network interface and configured to:

receive, via the network interface, a first connection request from a first client device,

process the first connection request,

transmit, via the network interface, an access token to the first client device in reply to the first connection request,

receive, via the network interface, a second connection request from a second client device,

process the second connection request,

transmit, via the network interface, a single sign-on response to the second client device in reply to the second connection request,

receive, via the network interface, a single sign-on verification from the first client device,

process the single sign-on verification, and

transmit, via the network interface, a copy of the access token to the second client device.

2. The computer system of claim 1 , wherein the at least one processor is configured to process the first connection request by being configured to:

extract authentication data from the first connection request;

verify the authentication data for the user of the first client device; and

generate the access token based upon verification of the authentication data.

3. The computer system of claim 2 , wherein the authentication data comprises authentication data received from the first client device during a multi-factor authentication process.

4. The computer system of claim 1 , wherein the at least one processor is configured to process the second connection request by being configured to:

determine that the second connection request is a single sign-on request;

generate unique session identifier information for the single sign-on request;

store the unique session identifier information in the memory; and

generate the single sign-on response based upon the unique session identifier information.

5. The computer system of claim 4 , wherein the at least one processor is configured to process the single sign-on verification by being configured to:

extract a copy of the access token from the single sign-on verification;

verify the copy of the access token;

extract session identifier response information from the single sign-on verification;

compare the extracted session identifier response information and the stored unique session identifier information; and

authenticate the user of the second client device based upon verification of the copy of the access token and the comparison of the extracted session identifier response information and the stored unique session identifier information.

6. The computer system of claim 1 , wherein the at least one processor is further configured to transmit, via the network interface, an updated access token to at least one of the first client device and the second client device.

7. The computer system of claim 1 , wherein the first client device and the second client device are assigned to and/or belong to the user.

8. A method of providing a single sign-on for authenticating a user via multiple client devices in a distributed resource environment, the method comprising:

receiving, by at least one processor, a first connection request from a first client device;

processing, by at least one processor, the first connection request;

transmitting, by at least one processor, an access token to the first client device in reply to the first connection request;

receiving, by at least one processor, a second connection request from a second client device;

processing, by at least one processor, the second connection request;

transmitting, by at least one processor, a single sign-on response to the second client device in reply to the second connection request;

receiving, by at least one processor, a single sign-on verification from the first client device;

processing, by at least one processor, the single sign-on verification; and

transmitting, by at least one processor, a copy of the access token to the second client device.

9. The method of claim 8 , wherein processing the first connection request comprises:

extracting, by at least one processor, authentication data from the first connection request;

verifying, by at least one processor, the authentication data for the user of the first client device; and

generating, by at least one processor, the access token based upon verification of the authentication data.

10. The method of claim 9 , wherein the authentication data comprises authentication data received from the first client device during a multi-factor authentication process.

11. The method of claim 8 , wherein processing the second connection request comprises:

determining, by at least one processor, that the second connection request is a single sign-on request;

generating, by at least one processor, unique session identifier information for the single sign-on request;

storing, by at least one processor, the unique session identifier information in a memory operably coupled to the at least one processor; and

generating, by at least one processor, the single sign-on response based upon the unique session identifier information.

12. The method of claim 11 , wherein processing the single sign-on verification comprises:

extracting, by at least one processor, a copy of the access token from the single sign-on verification;

verifying, by at least one processor, the copy of the access token;

extracting, by at least one processor, session identifier response information from the single sign-on verification;

comparing, by at least one processor, the extracted session identifier response information and the stored unique session identifier information; and

authenticating, by at least one processor, the user of the second client device based upon verification of the copy of the access token and the comparison of the extracted session identifier response information and the stored unique session identifier information.

13. The method of claim 8 , further comprising transmitting, by at least one processor, an updated access token to at least one of the first client device and the second client device.

14. The method of claim 8 , wherein the first client device and the second client device are assigned to and/or belong to the user.

15. A computer system for providing a single sign-on for authenticating a user via multiple, client devices in a distributed resource environment, the system comprising:

a first client device configured to execute a first client agent for authenticating the user of the first client device;

a second client device configured to execute a second client agent for authenticating the user of the second client device; and

a remote computing device comprising:

a memory,

a network interface configured to communicate with the first client device and the second client device, and

at least one processor coupled to the memory and the network interface and configured to:

receive, via the network interface, a first connection request from the first client agent,

process the first connection request,

transmit, via the network interface, an access token to the first client device in reply to the first connection request,

receive, via the network interface, a second connection request from the second client agent,

process the second connection request,

transmit, via the network interface, a single sign-on response to the second client device in reply to the second connection request,

receive, via the network interface, a single sign-on verification from the first client device,

process the single sign-on verification, and

transmit, via the network interface, a copy of the access token to the second client device.

16. The system of claim 15 , wherein the second client device is further configured to:

receive the single sign-on response from the remote computing device;

establish an operable connection with the first client device; and

transmit the single sign-on response to the first client device.

17. The system of claim 16 , wherein the first client device is further configured to:

receive the single sign-on request from the second client device;

process the single sign-on request;

generate a single sign-on verification in response to processing the single sign-on request; and

transmit the single sign-on verification to the remote computing device.

18. The computer system of claim 15 , wherein the at least one processor is configured to process the first connection request by being configured to:

extract authentication data from the first connection request;

verify the authentication data for the user of the first client device; and

generate the access token based upon verification of the authentication data.

19. The computer system of claim 15 , wherein the at least one processor is configured to process the second connection request by being configured to:

determine that the second connection request is a single sign-on request;

generate unique session identifier information for the single sign-on request;

store the unique session identifier information in the memory; and

generate the single sign-on response based upon the unique session identifier information.

20. The computer system of claim 19 , wherein the at least one processor is configured to process the single sign-on verification by being configured to:

extract a copy of the access token from the single sign-on verification;

verify the copy of the access token;

extract session identifier response information from the single sign-on verification;

compare the extracted session identifier response information and the stored unique session identifier information; and

authenticate the user of the second client device based upon verification of the copy of the access token and the comparison of the extracted session identifier response information and the stored unique session identifier information.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2020
From: SHI, LIANGANG; LIN, RULEI; LIU, ZHENXING
To: CITRIX SYSTEMS, INC.
Reel/Frame 053526/0608 →
Continuity (1)
Continuation PCTCN2020091557 · May 21, 2020
Cited By (1)
US 12,705,336