IP Library Granted Patent US 11,411,944
Granted Patent B2
US 11,411,944 · App. 16/935,455 · Granted Aug 9, 2022

Session synchronization across multiple devices in an identity cloud service

Inventors: Mohamad Raja Gani Mohamad Abdul (Fremont, CA); Kavita Tippanna (Fremont, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L63/0815H04L67/10H04L67/55H04L67/02
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,411,944
App. No.
16/935,455
Granted
Aug 9, 2022
Kind
B2
Abstract

Embodiments provide session synchronization across multiple devices. Embodiments receive, at a single sign-in (“SSO”) service, user credentials from a user in response to the user signing into the first device. In response to receiving the user credentials, embodiments create a primary SSO session by the SSO service. In response to an attempt by the second device to create another SSO session, subsequent to the creating of the primary SSO session, embodiments create an alias SSO session linked to the primary SSO and set an encrypted session cookie containing the alias SSO session and returning an authorization code including the alias SSO session to the second device. Embodiments verify the second token using a second public key of the second device and send user information of the user to the second device, where the second device uses the user information to automatically sign the user into the second device.

Claims (59)

1. A method for session synchronization across multiple devices, the method comprising:

determining that a first device is in geographic proximity to a second device;

receiving, at a single sign-in (SSO) service, user credentials from a user in response to the user signing into the first device;

in response to receiving the user credentials, creating a primary SSO session by the SSO service;

in response to an attempt by the second device to create another SSO session, subsequent to the creating of the primary SSO session, creating an alias SSO session linked to the primary SSO;

setting an encrypted session cookie containing the alias SSO session and returning an authorization code including the alias SSO session to the second device, wherein the second device returns the authorization code with a second token that is signed using a second private key of the second device;

verifying the second token using a second public key of the second device; and

sending user information of the user to the second device, wherein the second device uses the user information to automatically sign the user into the second device.

2. The method of claim 1 , where the signing into the first device and the signing into the second device are implemented via the user interacting with an application executing on the first device and on the second device.

3. The method of claim 1 , wherein the alias SSO session is converted from an In Progress status to a Valid status after the verifying the second token.

4. The method of claim 1 , further comprising:

receiving a logging off of the primary SSO session from the first device or of the alias SSO session from the second device;

automatically logging of either the primary SSO session or the alias SSO session.

5. The method of claim 1 , further comprising enrolling the second device into a trusted device group associated with the user, the enrolling comprising:

authenticating the user into an application on the first device;

receiving a first request by the SSO service from the second device to enroll the second device in the trusted device group, wherein the first device of the user is already enrolled in the trusted device group;

sending a push notification to the first device to obtain user consent of the user to enroll the second device in the trusted device group, wherein the first device obtains the consent of the user and sends a consent token to the second device;

receiving a second request from the second device by the SSO service, wherein the second request includes the consent token;

verifying the consent token;

enrolling the second device in the trusted device group; and

performing SSO session synchronization across all devices enrolled in the trusted device group including the first device and the second device.

6. The method of claim 5 , wherein, after obtaining the consent of the user, the second device determines a relative distance between the first device and the second device, establishes peer-to-peer (P2P) communication with the first device if the relative distance is less than a threshold, and sends the consent token to the first device using the P2P communication.

7. The method of claim 6 , wherein the SSO session synchronization comprises replicating an SSO session created for the first device by encrypting the SSO session using the second public key and sending the encrypted SSO session from the first device to the second device using the P2P communication, wherein the second device decrypts the encrypted SSO session using the second private key stored at the second device and re-uses the SSO session.

8. The method of claim 1 , wherein the second token comprises a JavaScript Object Notation Web Token (JWT) token.

9. The method of claim 1 , wherein the SSO service is implemented by a cloud based multi-tenant identity management service.

10. A cloud-based identity and data security management system comprising one or more processors execute instructions to provide session synchronization across multiple devices, the session synchronization comprising:

determining that a first device is in geographic proximity to a second device;

receiving, at a single sign-in (SSO) service, user credentials from a user in response to the user signing into the first device;

in response to receiving the user credentials, creating a primary SSO session by the SSO service;

in response to an attempt by the second device to create another SSO session, subsequent to the creating of the primary SSO session, creating an alias SSO session linked to the primary SSO;

setting an encrypted session cookie containing the alias SSO session and returning an authorization code including the alias SSO session to the second device, wherein the second device returns the authorization code with a second token that is signed using a second private key of the second device;

verifying the second token using a second public key of the second device; and

sending user information of the user to the second device, wherein the second device uses the user information to automatically sign the user into the second device.

11. The system of claim 10 , where the signing into the first device and the signing into the second device are implemented via the user interacting with an application executing on the first device and on the second device.

12. The system of claim 10 , wherein the alias SSO session is converted from an In Progress status to a Valid status after the verifying the second token.

13. The system of claim 10 , the session synchronization further comprising:

receiving a logging off of the primary SSO session from the first device or of the alias SSO session from the second device;

automatically logging of either the primary SSO session or the alias SSO session.

14. The system of claim 10 , the session synchronization further comprising enrolling the second device into a trusted device group associated with the user, the enrolling comprising:

authenticating the user into an application on the first device;

receiving a first request by the SSO service from the second device to enroll the second device in the trusted device group, wherein the first device of the user is already enrolled in the trusted device group;

sending a push notification to the first device to obtain user consent of the user to enroll the second device in the trusted device group, wherein the first device obtains the consent of the user and sends a consent token to the second device;

receiving a second request from the second device by the SSO service, wherein the second request includes the consent token;

verifying the consent token;

enrolling the second device in the trusted device group; and

performing SSO session synchronization across all devices enrolled in the trusted device group including the first device and the second device.

15. The system of claim 14 , wherein, after obtaining the consent of the user, the second device determines a relative distance between the first device and the second device, establishes peer-to-peer (P2P) communication with the first device if the relative distance is less than a threshold, and sends the consent token to the first device using the P2P communication.

16. The system of claim 15 , wherein the SSO session synchronization comprises replicating an SSO session created for the first device by encrypting the SSO session using the second public key and sending the encrypted SSO session from the first device to the second device using the P2P communication, wherein the second device decrypts the encrypted SSO session using the second private key stored at the second device and re-uses the SSO session.

17. The system of claim 10 , wherein the second token comprises a JavaScript Object Notation Web Token (JWT) token.

18. A non-transitory computer-readable medium storing instructions which, when executed by at least one of a plurality of processors, cause the processors to provide session synchronization across multiple devices, the session synchronization comprising:

determining that a first device is in geographic proximity to a second device;

receiving, at a single sign-in (SSO) service, user credentials from a user in response to the user signing into the first device;

in response to receiving the user credentials, creating a primary SSO session by the SSO service;

in response to an attempt by the second device to create another SSO session, subsequent to the creating of the primary SSO session, creating an alias SSO session linked to the primary SSO;

setting an encrypted session cookie containing the alias SSO session and returning an authorization code including the alias SSO session to the second device, wherein the second device returns the authorization code with a second token that is signed using a second private key of the second device;

verifying the second token using a second public key of the second device; and

sending user information of the user to the second device, wherein the second device uses the user information to automatically sign the user into the second device.

19. The computer-readable medium of claim 18 , where the signing into the first device and the signing into the second device are implemented via the user interacting with an application executing on the first device and on the second device.

20. The computer-readable medium of claim 18 , wherein the alias SSO session is converted from an In Progress status to a Valid status after the verifying the second token.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2020
From: MOHAMAD ABDUL, MOHAMAD RAJA GANI; TIPPANNA, KAVITA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 053343/0250 →
Continuity (2)
Continuation 16021253 · Jun 28, 2018
Related Publication 20200358755A1 · Nov 12, 2020
Cited By (2)
US 12,598,191 US 12,615,156