IP Library Granted Patent US 11,792,199
Granted Patent B2
US 11,792,199 · App. 16/986,639 · Granted Oct 17, 2023

Application-assisted login for a web browser

Inventors: Josh Kaplan (San Francisco, CA); Adam Cook (San Francisco, CA); Stephen Poletto (San Francisco, CA); Thomas Wright (San Francisco, CA); Luke Faraone (San Francisco, CA)
Assignee: Dropbox, Inc.
H04L63/102H04L63/08H04L67/02H04L67/1097H04L67/306
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,792,199
App. No.
16/986,639
Granted
Oct 17, 2023
Kind
B2
Abstract

Systems, methods, and computer-readable storage media for authenticating a user account with a synchronized content management system are disclosed. A synchronized online content management system may receive a request from a client device to access content in the content management system via a web browser that is running on the client device. The system may identify that a client-side application for the content management system has been installed on the client device and that the client-side application is already logged into a user account with the content management system. The system can cause the web browser to open a local host connection to the client-side application such that the web browser may be able to obtain from the client application some user account identifying information for the user account. The system can then cause the web browser to log into the user account by using the user account identifying information.

Claims (48)

1. A computer-implemented method comprising:

receiving, at a content management system, a request from a device to access the content management system via a web browser;

identifying a client-side application installed on the device by determining that the client-side application uses a same IP address as the web browser, the client-side application being associated with a local host server installed on the device and associated with the content management system, wherein the local host server is referenced by a local host Internet Protocol (IP) address;

causing the web browser to open a local host connection using the local host IP address to reference the local host server run by the client-side application, wherein the web browser accesses user account identifying information for the user account from the client-side application through the local host connection; and

causing the web browser to log into the user account by using the user account identifying information.

2. The computer-implemented method of claim 1 , wherein the user account identifying information is at least one of a name, a username, an email address, a password, a token, and a cryptographic nonce.

3. The computer-implemented method of claim 1 , wherein the web browser logs into the user account without receiving, from a user of the device, user credentials associated with the user account.

4. The computer-implemented method of claim 1 , further comprising: causing the web browser to request a confirmation from the device prior to causing the web browser to log into the user account.

5. The computer-implemented method of claim 1 , further comprising:

sending a confirmation request to the web browser, the confirmation request asking a user of the device to confirm whether to log into the user account;

when a positive confirmation is received from the user in response to the confirmation request, causing the web browser to log in to the user account without requiring the user to provide login credentials; and

when a negative confirmation is received from the user in response to the confirmation request, causing the web browser to request the login credentials from the user.

6. A system comprising:

one or more processors; and

a non-transitory computer-readable storage medium storing instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

sending, from a client device to a content management system, a request to access the content management system via a web browser;

identifying a client-side application installed on the client device by determining that the client-side application is using a same IP address as the web browser;

establishing a local host connection between the web browser and a local host server via the client-side application associated with the content management system, wherein the local host server is referenced by a local host Internet Protocol (IP) address over the local host connection;

receiving user account identifying information from the local host server via the local host connection; and

logging the web browser into the user account by using the user account identifying information.

7. The system of claim 6 , wherein the client-side application runs on the client device.

8. The system of claim 6 , wherein the client-side application is logged into the user account before the request is sent.

9. The system of claim 6 , wherein the client-side application provides a configuration request prior to logging the web browser into the user account by using the user account identifying information.

10. The system of claim 6 , wherein logging the web browser into the user account comprises:

upon navigating to a website associated with the content management system, transmitting the user account identifying information to the content management system via the web browser.

11. The system of claim 10 , wherein logging the web browser into the user account further comprises:

presenting, to a user of the client device, a choice between a first option to log into the user account and a second option to log into a new user account;

receiving a user input in response to the choice;

when the user input indicates that the user prefers the first option, logging the web browser into the user account; and

when the user input indicates that the user prefers the second option, requesting to the user to enter credentials for the new user account and logging the web browser into the new user account by using the credentials.

12. The system of claim 6 , wherein the user account identifying information is at least one of a name, a username, an email address, a password, a token, and a cryptographic nonce.

13. The system of claim 6 , wherein logging the web browser into the user account is performed at a website associated with the content management system and without the web browser receiving, from a user of the client device, user credentials associated with the user account.

14. A non-transitory computer-readable storage device storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

at a client application, on a client device associated with a content management system, logging into a user account associated with the content management system;

receiving a request from a web browser, on the client device having a local host server;

verifying that the request comes from a legitimate source by determining that the request comes from a website associated with the content management system;

establishing a communication channel between the web browser and the client application, wherein the communication channel, using a local host Internet Protocol (IP) address, is established via the local host server; and

providing user account identifying information to the web browser via the communication channel, thereby enabling the web browser to log into the user account using the user account identifying information.

15. The non-transitory computer-readable storage device of claim 14 , wherein the user account identifying information is at least one of a name, a username, an email address, a password, a token, and a cryptographic nonce.

16. The non-transitory computer-readable storage device of claim 14 , wherein the client application provides a configuration request prior to enabling the web browser to log into the user account using the user account identifying information.

17. The non-transitory computer-readable storage device of claim 14 , wherein verifying that the request comes from the legitimate source further comprises:

determining whether the request comes from a local connection.

18. The non-transitory computer-readable storage device of claim 14 , wherein verifying that the request comes from the legitimate source further comprises:

determining whether the request comes from a known web browser.

19. The non-transitory computer-readable storage device of claim 14 , further comprising:

sending a confirmation request to the web browser, the confirmation request asking a user of the client device to confirm whether to log into the user account, wherein logging the web browser into the user account is performed at the website associated with the content management system and without the web browser receiving, from the user of the client device, user credentials associated with the user account;

causing, when a positive confirmation is received from the user in response to the confirmation request, the web browser to log in to the user account without requiring the user to provide login credentials; and

causing, when a negative confirmation is received from the user in response to the confirmation request, the web browser to request the login credentials from the user.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2020
From: KAPLAN, JOSH; COOK, ADAM; POLETTO, STEPHEN; WRIGHT, THOMAS; FARAONE, LUKE
To: DROPBOX, INC.
Reel/Frame 053419/0797 →