IP Library Granted Patent US 10,880,286
Granted Patent B2
US 10,880,286 · App. 15/839,705 · Granted Dec 29, 2020

Device validation apparatus and protocol for a group-based communication system

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 10,880,286
App. No.
15/839,705
Granted
Dec 29, 2020
Kind
B2
Abstract

Provided is a computing device of a group based communication system configured to securely validate a client device associated with a group-based communication interface user. An example computing device is configured to identify a validating request transmitted from the client device. If a validating request is identified, the example computing device will transmit a temporary device code to the client device associated with the group-based communication interface user and an e-mail code to an e-mail address associated with a user profile associated with the group-based communication interface user. The example computing device also stores the codes transmitted. The example computing device then receives a confirmation exchange from the client device and determines whether the confirmation exchange satisfies client device validation parameters. If the confirmation exchange satisfies the client device validation parameters, the example computing device will validate the client device by transmitting and storing a long lived device code.

Claims (97)

1. An apparatus for validating a client device associated with a group-based communication interface, the apparatus comprising at least a processor, and a memory storing computer-readable instructions that, when executed by the processor, cause the apparatus to:

receive user interaction data from the client device;

identify, based at least partly on the user interaction data, a validating request associated with the client device;

transmit a temporary device code to the client device;

transmit an e-mail code to an e-mail address associated with the group-based communication interface;

store the temporary device code and the e-mail code in the memory;

receive, from the client device, a confirmation exchange comprising a first code based at least partly on the temporary device code and a second code based at least partly on the e-mail code

based at least partly on a determination that the confirmation exchange satisfies client device validation parameters;

transmit a long lived device code to the client device; and

store, in the memory, the long lived device code indicating that the client device is validated for the group-based communication interface.

2. The apparatus of claim 1 , wherein determining if the confirmation exchange satisfies client device validation parameters further comprises:

receiving time stamp data associated with transmission of the temporary device code; and

comparing a predetermined value to a difference between the time stamp data and a time associated with receipt of the confirmation exchange.

3. The apparatus of claim 1 , wherein determining if the confirmation exchange satisfies client device validation parameters further comprises:

receiving time stamp data associated with transmission of the e-mail code; and

comparing a predetermined value to a difference between the time stamp data and a time associated with receipt of the confirmation exchange.

4. The apparatus of claim 1 , wherein the validating request comprises a device ID of the client device.

5. The apparatus of claim 1 , wherein the user interaction data comprises first user interaction data and the computer-readable instructions, when executed by the processor, further cause the apparatus to:

receive second user interaction data from the client device;

identify, from the second user interaction data, a group finding request and the long lived device code associated with the user profile; and

transmit, based at least partly on identifying the group finding request and the long lived device code, group information associated with a user profile of the group-based communication interface.

6. The apparatus of claim 1 , wherein the user interaction data comprises first user interaction data and the computer-readable instructions, when executed by the processor, further cause the apparatus to:

receive second user interaction data from the client device;

identify, from the second user interaction data, a group modification request and the long lived device code; and

modify, based at least partly on identifying the group modification request and the long lived device code, group information associated with a user profile of the group-based communication interface.

7. The apparatus of claim 1 , wherein the user interaction data comprises first user interaction data and the computer-readable instructions, when executed by the processor, further cause the apparatus to:

receive second user interaction data from the client device;

identify, from the second user interaction data, a group modification request;

identify, from the second user interaction data and based at least partly on the identifying the group modification request, the long lived device code; and

modify, based at least partly on identifying the long lived device code, group information associated with a user profile of the group-based communication interface.

8. The apparatus of claim 1 , wherein the validating request is automatically generated upon receiving a new user account registration indication.

9. The apparatus of claim 1 , wherein the computer-readable instructions, when executed by the processor, further cause the apparatus to:

receive time stamp data associated with transmission of the temporary device code; and

delete the temporary device code based at least partly on the time stamp data.

10. The apparatus of claim 1 , wherein the computer-readable instructions, when executed by the processor, further cause the apparatus to:

receive time stamp data associated with transmission of the e-mail code; and

delete the e-mail code based at least partly on the time stamp data.

11. The apparatus of claim 1 , wherein the user interaction data comprises first user interaction data and the computer-readable instructions, when executed by the processor, further cause the apparatus to:

receive second user interaction data from the client device;

identify, from the second user interaction data, a group finding request and the long lived device code; and

generate, based at least partly on identifying the group finding request and the long lived device code, a group summary indicator for display by the client device.

12. The apparatus of claim 1 , wherein the first code comprises a first alphanumeric string representing the temporary device code and the second code comprises a second alphanumeric string representing the e-mail code.

13. A method for validating a client device associated with a group-based communication interface, comprising:

receiving user interaction data from the client device;

identifying, based at least partly on the user interaction data, a validating request associated with the client device;

transmitting a temporary device code to the client device;

transmitting an e-mail code to an e-mail address associated with the group-based communication interface;

storing the temporary device code and the e-mail code in the memory;

receiving, from the client device, a confirmation exchange comprising a first code based at least partly on the temporary device code and a second code based at least partly on the e-mail code;

based at least partly on a determination that the confirmation exchange satisfies client device validation parameters;

transmitting a long lived device code to the client device; and

storing, in the memory, the long lived device code indicating that the client device is validated for the group-based communication interface.

14. The method of claim 13 , wherein the client device validation parameters comprise a code identification parameter, and wherein determining if the confirmation exchange satisfies the client device validation parameters comprises determining whether the confirmation exchange comprises the temporary device code and the e-mail code stored in the memory.

15. The method of claim 13 , wherein determining if the confirmation exchange satisfies client device validation parameters further comprises:

receiving time stamp data associated with transmission of the temporary device code; and

comparing a predetermined value to a difference between the time stamp data and a time associated with receipt of the confirmation exchange.

16. The method of claim 13 , wherein determining if the confirmation exchange satisfies client device validation parameters further comprises:

receiving time stamp data associated with transmission of the e-mail code; and

comparing a predetermined value to a difference between the time stamp data and a time associated with receipt of the confirmation exchange.

17. The method of claim 13 , wherein the validating request comprises a device ID of the client device.

18. The method of claim 13 , wherein the user interaction data comprises first user interaction data and further comprising:

receiving second user interaction data from the client device;

identifying, from the second user interaction data a group finding request and the long lived device code; and

transmitting, based at least partly on identifying the group finding request and the long lived device code, group information associated with a user profile of the group-based communication interface.

19. The method of claim 13 , wherein the user interaction data comprises first user interaction data and further comprising:

receiving second user interaction data from the client device;

identifying, from the second user interaction data a group modification request and the long lived device code; and

modifying, based at least partly on identifying the group modification request and the long lived device code, group information associated with a user profile of the group-based communication interface.

20. The method of claim 13 , wherein the user interaction data comprises first user interaction data, and further comprising:

receiving second user interaction data from the client device;

identifying, from the second user interaction data a group modification request;

identifying, from the second user interaction data and based at least partly on the identifying the group modification request, the long lived device code; and

modifying, based at least partly on identifying the long lived device code, group information associated with a user profile of the group-based communication interface.

21. The method of claim 13 , wherein the validating request is automatically generated upon receiving a new user account registration indication.

22. The method of claim 13 , further comprising:

receiving time stamp data associated with transmission of the temporary device code; and

deleting the temporary device code based at least partly on the time stamp data.

23. The method of claim 13 , further comprising:

receiving time stamp data associated with transmission of the e-mail code; and

deleting the e-mail code based at least partly on the time stamp data.

24. The method of claim 13 , wherein the user interaction data comprises first user interaction data and further comprising:

receiving second user interaction data from the client device;

identifying, from the second user interaction data, a group finding request and a long lived device code; and

generating, based at least partly on identifying the group finding request and the long lived device code, a group summary indicator for display by the client device.

25. A system comprising:

one or more processors;

one or more memories storing computer-readable instructions that, when executed by the one or more processors, cause the system to:

receive user interaction data from a device;

identify, based at least partly on the user interaction data, a validating request associated with the device;

transmit a temporary device code to the device;

transmit an e-mail code to an e-mail address associated with a group-based communication interface;

store the temporary device code and the e-mail code at the one or more memories;

receive, from the device, a confirmation exchange comprising a first code based at least partly on the temporary device code and a second code based at least partly on the e-mail code;

based at least partly on a determination that the confirmation exchange satisfies the device validation parameters:

transmit a long lived device code to the device; and

store, in the one or more memories, the long lived device code indicating that the device is validated for the group-based communication interface.

26. The device of claim 25 , wherein the first code comprises a first alphanumeric string representing the temporary device code and the second code comprises a second alphanumeric string representing the e-mail code.

Assignments (6)
MERGER Recorded Jan 11, 2023
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE.COM, INC.
Reel/Frame 062354/0073 →
CHANGE OF NAME Recorded Jan 11, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062354/0100 →
MERGER AND CHANGE OF NAME Recorded Oct 1, 2021
From: SLACK TECHNOLOGIES, INC.; SLACK TECHNOLOGIES, LLC
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057683/0001 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 49332/0349 Recorded Jul 19, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 057649/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2020
From: RUTHERFORD-JENKINS, CHASE; HICKS, GRAHAM; MCCUE, LORILYN; TAKHTRAVANCHI, ALIREZA; WOLFAND, SAMUEL; YAQUB, FAISAL
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 054348/0841 →
PATENT SECURITY AGREEMENT Recorded May 30, 2019
From: SLACK TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 049332/0349 →