IP Library Granted Patent US 11,729,165
Granted Patent B2
US 11,729,165 · App. 16/764,722 · Granted Aug 15, 2023

Device authorization systems

Inventors: Euan Christopher Smith (Cambridge, GB); Julian Hall (Cambridge, GB)
Assignee: Plantronics, Inc.
H04L63/0876H04L63/0236H04L63/0807H04L63/107H04W12/30H04W12/63
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,729,165
App. No.
16/764,722
Granted
Aug 15, 2023
Kind
B2
Abstract

A method of distributed authorization of one or more client applications to one or more connected devices. The method comprises: receiving at a connected device, from a browser executing a client application, a client token and an access request. The client token has been provided to the client application by a process comprising generating one or more client tokens, one for each of one or more client applications (a client token defines permissions for a client application and a domain hosting the client application); signing the client tokens with a private key of a client token issuer, and distributing the client tokens to the client applications; verifying a signature of the client token using a public key of the client token issuer; determining whether the client token grants the client application permission for the access request and, if permission is granted: replying to the browser with a redirect response including an access token granting permission for the client application to access the connected device and identification of the domain hosting the client application from the client token; and executing the redirect response with the browser to make the access token available to the client application for use by the client application when requesting the connected device to perform a task.

Claims (62)

1. A method of distributed authorization, comprising:

receiving, by a connected device from a browser executing a client application, a client token and an access request, the client token defining permissions for the client application and a domain hosting the client application, and the client token including a signature generated using a private key of a client token issuer associated with the client token;

verifying, by the connected device, the signature of the client token using a public key of the client token issuer;

determining, by the connected device, that the client token grants the client application permission for the access request responsive to verifying the signature of the client token using the public key of the client token issuer;

generating, by the connected device, an access token that grants the client application permission for the access request and includes an identification of the domain hosting the client application; and

replying, by the connected device, to the browser with a redirect response including the access token, wherein:

the redirect response is executable by the browser to make the access token available to the client application for use by the client application when requesting the connected device to perform a task; and

the redirect response, upon execution by the browser, causes the browser to pass the access token to the domain hosting the client application using the identification of the domain hosting the client application from the access token.

2. The method of claim 1 , wherein the redirect response, upon execution by the browser, causes the browser to fetch a further response from the domain hosting the client application as defined in the client token.

3. The method of claim 2 , wherein the further response, upon execution by the browser, causes the browser to pass a message comprising the access token to the client application.

4. The method of claim 1 , wherein:

the redirect response, upon execution by the browser, causes the browser to fetch a further response from a redirect URL and pass the access token to the domain hosting the client application as defined in the client token; and

the redirect URL defines a URL associated with the connected device.

5. The method of claim 1 , wherein determining, by the connected device, that the client token grants the client application permission for the access request responsive to verifying the signature of the client token using the public key of the client token issuer comprises determining, by the connected device without communicating with the client token issuer, that the client token grants the client application permission for the access request responsive to verifying the signature of the client token using the public key of the client token issuer.

6. The method of claim 1 , further comprising signing, by the connected device, the access token.

7. The method of claim 1 , further comprising:

replying, by the connected device, to the browser with an additional redirect response, wherein the additional redirect response, upon execution by the browser, causes the browser to redirect to an authentication service;

receiving, by the connected device from the browser, an authentication response generated by the authentication service; and

validating, by the connected device, the authentication response prior to replying to the browser with the redirect response including the access token.

8. An electronic device, comprising:

memory; and

at least one processor configured to:

receive, from a browser executing a client application, a client token and an access request, the client token defining permissions for the client application and a domain hosting the client application, and the client token including a signature generated using a private key of a client token issuer associated with the client token;

verify the signature of the client token using a public key of the client token issuer;

determine that the client token grants the client application permission for the access request responsive to verifying the signature of the client token using the public key of the client token issuer;

generate an access token that grants the client application permission for the access request and includes an identification of the domain hosting the client application; and

reply to the browser with a redirect response including the access token, wherein:

the redirect response is executable by the browser to make the access token available to the client application for use by the client application when requesting the device to perform a task; and

the redirect response, upon execution by the browser, causes the browser to pass the access token to the domain hosting the client application using the identification of the domain hosting the client application from the access token.

9. The device of claim 8 , further comprising a camera mounted via support on a wall for capturing images of a whiteboard, wherein the at least one processor is further configured to process the images captured by the camera and store historical whiteboard content in the memory.

10. The device of claim 9 , wherein the access request comprises a request to access the historical whiteboard content.

11. The device of claim 8 , wherein:

the redirect response, upon execution by the browser, causes the browser to fetch a further response from the domain hosting the client application as defined in the client token; and

the further response, upon execution by the browser, causes the browser to pass a message comprising the access token to the client application.

12. The device of claim 8 , wherein:

the redirect response, upon execution by the browser, causes the browser to fetch a further response from a redirect URL and pass the access token to the domain hosting the client application as defined in the client token; and

the redirect URL defines a URL associated with the electronic device.

13. The device of claim 8 , wherein the at least one processor is configured to determine that the client token grants the client application permission for the access request responsive to verifying the signature of the client token using the public key of the client token issuer by determining, without communicating with the client token issuer, that the client token grants the client application permission for the access request responsive to verifying the signature of the client token using the public key of the client token issuer.

14. The device of claim 8 , wherein the at least one processor is configured to sign the access token.

15. The device of claim 8 , wherein the at least one processor is further configured to:

reply to the browser with an additional redirect response, wherein the additional redirect response, upon execution by the browser, causes the browser to redirect to an authentication service;

receive, from the browser, an authentication response generated by the authentication service; and

validate the authentication response prior to replying to the browser with the redirect response including the access token.

16. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one processor, cause the at least one processor to implement operations comprising:

receiving, from a browser executing a client application, a client token and an access request, the client token defining permissions for the client application and a domain hosting the client application, and the client token including a signature generated using a private key of a client token issuer associated with the client token;

verifying the signature of the client token using a public key of the client token issuer;

determining that the client token grants the client application permission for the access request responsive to verifying the signature of the client token using the public key of the client token issuer;

generating an access token that grants the client application permission for the access request and includes an identification of the domain hosting the client application; and

replying to the browser with a redirect response including the access token, wherein:

the redirect response is executable by the browser to make the access token available to the client application for use by the client application when requesting the at least one processor to perform a task; and

the redirect response, upon execution by the browser, causes the browser to pass the access token to the domain hosting the client application using the identification of the domain hosting the client application from the access token.

17. The computer-readable medium of claim 16 , wherein:

the redirect response, upon execution by the browser, causes the browser to fetch a further response from the domain hosting the client application as defined in the client token; and

the further response, upon execution by the browser, causes the browser to pass a message comprising the access token to the client application.

18. The computer-readable medium of claim 16 , wherein:

the redirect response, upon execution by the browser, causes the browser to fetch a further response from a redirect URL and pass the access token to the domain hosting the client application as defined in the client token; and

the redirect URL defines a URL associated with the at least one processor.

19. The computer-readable medium of claim 16 , wherein determining that the client token grants the client application permission for the access request responsive to verifying the signature of the client token using the public key of the client token issuer comprises determining, without communication with the client token issuer, that the client token grants the client application permission for the access request responsive to verifying the signature of the client token using the public key of the client token issuer.

20. The computer-readable medium of claim 16 , the operations further comprising:

replying to the browser with an additional redirect response, wherein the additional redirect response, upon execution by the browser, causes the browser to redirect to an authentication service;

receiving, from the browser, an authentication response generated by the authentication service; and

validating the authentication response prior to replying to the browser with the redirect response including the access token.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Nov 13, 2023
From: PLANTRONICS, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 065549/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2022
From: POLY COMMUNICATIONS INTERNATIONAL UNLIMITED COMPANY
To: PLANTRONICS, INC.
Reel/Frame 061638/0909 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2022
From: LIGHT BLUE OPTICS LIMITED; LIGHT BLUE OPTICS INC.
To: PLANTRONICS, INC.; POLY COMMUNICATIONS INTERNATIONAL UNLIMITED COMPANY
Reel/Frame 060054/0456 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: SMITH, EUAN; HALL, JULIAN
To: LIGHT BLUE OPTICS LTD
Reel/Frame 057027/0304 →
Priority Claims (1)
GB 1719080 · Nov 17, 2017 · national
Continuity (1)
Related Publication 20210176247A1 · Jun 10, 2021