IP Library Granted Patent US 11,303,623
Granted Patent B2
US 11,303,623 · App. 16/807,023 · Granted Apr 12, 2022

Authentication mechanism

Inventors: Michael Ducker (San Francisco, CA); Sean Cook (San Francisco, CA); Jeffrey Seibert, Jr. (San Francisco, CA); Alex Roetter (San Francisco, CA); Kevin Weil (San Francisco, CA); Akash Garg (San Francisco, CA); Jeremy Gordon (San Francisco, CA)
Assignee: Twitter, Inc.
H04L63/08G06F21/44H04L63/0838H04L63/0876H04L63/10G06F2221/2129H04L63/067H04L63/1466H04L63/18
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,303,623
App. No.
16/807,023
Granted
Apr 12, 2022
Kind
B2
Abstract

A system and method including: receiving an authorization request originating from an authorization module of an application executing on a client device, where the authorization request includes an identifier identifying the client device; causing transmission, based on the identifier, of a verification message to the client device, where the verification message includes a verification code; receiving a confirmation of the verification code from the authorization module of the application executing on the client device; authenticating the application based on the receiving the confirmation of the verification code; determining that the client device identified by the identifier corresponds to a user account including secure user data associated with a user; and transmitting a unique token verifying that the application is authorized to sign into the user account, where: the unique token uniquely identifies the user account to the application, and the secure user data is not shared with the application.

Claims (78)

1. A method for authorizing an application on a client device comprising:

causing, by an authorization module of the application executing on the client device, a transmission of an authorization request, including an identifier of the client device, to an identity system, wherein the authorization request is transmitted for verification that the client device identified by the identifier corresponds to a particular user account;

receiving, at the client device, a verification message generated by the identity system based on the identifier of the client device, the verification message comprising a verification code;

providing the verification code from the received verification message to the authorization module;

causing, by the authorization module, a transmission of a confirmation of the verification code to the identity system to authenticate the application based on receiving the confirmation of the verification code;

receiving a token from the identity system that uniquely corresponds to the user account; and

using the unique token to sign in the user account to the application.

2. The method of claim 1 , wherein using the unique token allows the application to sign in the user account without receiving secure user data of the user account.

3. The method of claim 1 , further comprising:

receiving a cryptographic nonce with the unique token;

transmitting a sign-in request including the token and a value generated from the cryptographic nonce; and

receiving a sign-in confirmation.

4. The method of claim 1 , further comprising:

causing, by a second authorization module of a second application executing on the client device, a transmission of a second authorization request, including the identifier of the client device, to an identity system, wherein the second authorization request is transmitted for verification that the client device identified by the identifier corresponds to the user account;

receiving a second verification message based on the identifier of the client device, the second verification message comprising a second verification code;

providing the second verification code to the second authorization module;

causing, by the authorization module, a transmission of a confirmation of the second verification code to the identity system to authenticate the second application based on receiving the confirmation of the second verification code;

receiving a second unique token from the identity system that uniquely corresponds to the user account, wherein the second unique token is different from the token; and

using the second unique token to sign in the user account to the application.

5. The method of claim 1 , further comprising:

causing, by the authorization module, a transmission by the client device of a content item request from the application;

receiving a content item responsive to the content item request, wherein the content item is selected by the identity system based on secure user data of the user account; and

placing the content item within an interface of the application.

6. The method of claim 1 , further comprising:

receiving one or more additional unique tokens, each of the one or more additional unique tokens corresponding to user accounts using other instances of the application.

7. The method of claim 1 , wherein the verification message comprises a deep link referencing a location that includes the verification code.

8. A non-transitory computer readable storage medium comprising computer program instructions that when executed by a processor cause the processor to perform operations comprising:

causing, by an authorization module of an application executing on a client device, a transmission of an authorization request, including an identifier of the client device, to an identity system, wherein the authorization request is transmitted for verification that the client device identified by the identifier corresponds to a particular user account;

receiving, at the client device, a verification message generated by the identity system based on the identifier of the client device, the verification message comprising a verification code;

providing the verification code from the received verification message to the authorization module;

causing, by the authorization module, a transmission of a confirmation of the verification code to the identity system to authenticate the application based on receiving the confirmation of the verification code;

receiving a token from the identity system that uniquely corresponds to the user account; and

using the unique token to sign in the user account to the application.

9. The non-transitory computer readable storage medium of claim 8 , wherein using the unique token allows the application to sign in the user account without receiving secure user data of the user account.

10. The non-transitory computer readable storage medium of claim 8 , wherein the operations further comprise:

receiving a cryptographic nonce with the unique token;

transmitting a sign-in request including the token and a value generated from the cryptographic nonce; and

receiving a sign-in confirmation.

11. The non-transitory computer readable storage medium of claim 8 , wherein the operations further comprise:

causing, by a second authorization module of a second application executing on the client device, a transmission of a second authorization request, including the identifier of the client device, to an identity system, wherein the second authorization request is transmitted for verification that the client device identified by the identifier corresponds to the user account;

receiving a second verification message based on the identifier of the client device, the second verification message comprising a second verification code;

providing the second verification code to the second authorization module;

causing, by the authorization module, a transmission of a confirmation of the second verification code to the identity system to authenticate the second application based on receiving the confirmation of the second verification code;

receiving a second unique token from the identity system that uniquely corresponds to the user account, wherein the second unique token is different from the token; and

using the second unique token to sign in the user account to the application.

12. The non-transitory computer readable storage medium of claim 8 , wherein the operations further comprise:

causing, by the authorization module, a transmission by the client device of a content item request from the application;

receiving a content item responsive to the content item request, wherein the content item is selected by the identity system based on secure user data of the user account; and

placing the content item within an interface of the application.

13. The non-transitory computer readable storage medium of claim 8 , wherein the operations further comprise:

receiving one or more additional unique tokens, each of the one or more additional unique tokens corresponding to user accounts using other instances of the application.

14. The non-transitory computer readable storage medium of claim 8 , wherein the verification message comprises a deep link referencing a location that includes the verification code.

15. A system comprising a processor and a memory storing computer program instructions that when executed by the processor cause the processor to perform operations comprising:

causing, by an authorization module of an application executing on a client device, a transmission of an authorization request, including an identifier of the client device, to an identity system, wherein the authorization request is transmitted for verification that the client device identified by the identifier corresponds to a particular user account;

receiving, at the client device, a verification message generated by the identity system based on the identifier of the client device, the verification message comprising a verification code;

providing the verification code from the received verification message to the authorization module;

causing, by the authorization module, a transmission of a confirmation of the verification code to the identity system to authenticate the application based on receiving the confirmation of the verification code;

receiving a token from the identity system that uniquely corresponds to the user account; and

using the unique token to sign in the user account to the application.

16. The system of claim 15 , wherein using the unique token allows the application to sign in the user account without receiving secure user data of the user account.

17. The system of claim 15 , wherein the operations further comprise:

receiving a cryptographic nonce with the unique token;

transmitting a sign-in request including the token and a value generated from the cryptographic nonce; and

receiving a sign-in confirmation.

18. The system of claim 15 , wherein the operations further comprise:

causing, by a second authorization module of a second application executing on the client device, a transmission of a second authorization request, including the identifier of the client device, to an identity system, wherein the second authorization request is transmitted for verification that the client device identified by the identifier corresponds to the user account;

receiving a second verification message based on the identifier of the client device, the second verification message comprising a second verification code;

providing the second verification code to the second authorization module;

causing, by the authorization module, a transmission of a confirmation of the second verification code to the identity system to authenticate the second application based on receiving the confirmation of the second verification code;

receiving a second unique token from the identity system that uniquely corresponds to the user account, wherein the second unique token is different from the token; and

using the second unique token to sign in the user account to the application.

19. The system of claim 15 , wherein the operations further comprise:

causing, by the authorization module, a transmission by the client device of a content item request from the application;

receiving a content item responsive to the content item request, wherein the content item is selected by the identity system based on secure user data of the user account; and

placing the content item within an interface of the application.

20. The system of claim 15 , wherein the operations further comprise:

receiving one or more additional unique tokens, each of the one or more additional unique tokens corresponding to user accounts using other instances of the application.

21. The system of claim 15 , wherein the verification message comprises a deep link referencing a location that includes the verification code.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2020
From: DUCKER, MICHAEL; COOK, SEAN; ROETTER, ALEX; WEIL, KEVIN; GARG, AKASH; GORDON, JEREMY; SEIBERT, JEFFREY, JR.
To: TWITTER, INC.
Reel/Frame 053665/0676 →
Continuity (5)
Continuation 15639102 · Jun 30, 2017
Continuation 14698819 · Apr 28, 2015
Provisional Application 62067309 · Oct 22, 2014
Provisional Application 61986094 · Apr 29, 2014
Related Publication 20200304483A1 · Sep 24, 2020
Cited By (1)
US 12,198,696