IP Library Granted Patent US 10,397,222
Granted Patent B2
US 10,397,222 · App. 15/906,184 · Granted Aug 27, 2019

Authenticating a limited input device via an authenticated application

Inventor: Christopher Hein (San Francisco, CA)
Assignee: GoPro, Inc.
H04L63/0876H04L63/0838H04L63/0853H04L63/0884H04L63/102H04L67/02H04L67/125H04L67/42H04N5/2254H04N5/23203
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,397,222
App. No.
15/906,184
Granted
Aug 27, 2019
Kind
B2
Abstract

A limited input device, such as a camera, is authenticated based on a request received from an authenticated application. The application can request an application server to provide the application with a one-time authorization code. The request includes the device identifier associated with the camera. The server stores an association between the one-time authorization code and the device identifier of the camera, and provides the application with the one-time authorization code. The application provides the camera with the one-time authorization code. The camera transmits a request for an access token to the server, the request for the access token including the one-time authorization code and the device identifier associated with the camera. The server verifies the device identifier associated with the camera with that associated with the one-time authorization code, and upon a positive verification authenticates the camera by providing the camera with the access token.

Claims (40)

1. A system, comprising:

an authenticated application executing on a first device;

a camera paired with the authenticated application using a first device identifier, the authenticated application configured to enable a user to control one or more camera functions of the camera by interacting with the authenticated application; and

a computer program product comprising a non-transitory computer-readable storage medium having instructions encoded thereon that, when executed by a processor, causes the processor to:

in response to receiving a request including the first device identifier from the authenticated application for a one-time authorization code, transmit the one-time authorization code to the authenticated application,

receive a request for an access token from the camera, the request including the one-time authorization code and a second device identifier,

in response to verifying the one-time authorization code by determining that the second device identifier matches the first device identifier, authenticate the camera by providing the camera with the access token,

associate the access token with a user account,

receive one or more images associated with the user account from the camera, and

in response to determining that the access token has expired, receive a refresh token from the camera and provide a new access token to the camera.

2. The system of claim 1 , wherein the computer program product is a server device.

3. The system of claim 1 , wherein the authenticated application is associated with the user account that is maintained by the computer program product.

4. The system of claim 1 , wherein the instructions, when executed by the processor, further causes the processor to:

in response to determining that the received access token is valid, identify the user account associated with the received access token and store the one or more images in a portion of a memory associated with the user account.

5. The system of claim 1 , wherein the instructions to verify the one-time authorization code further comprises instructions that, when executed by the processor, further causes the processor to:

determine if the one-time authorization code is received from the camera within a threshold time period from when the one-time authorization code was provided to the authenticated application.

6. A method, comprising:

pairing a camera with an authenticated application using a first device identifier, the authenticated application executing on a first device and configured to enable a user to control one or more camera functions of the camera by interacting with the authenticated application;

in response to receiving a request including the first device identifier from the authenticated application for a one-time authorization code, transmitting the one-time authorization code to the authenticated application,

receiving a request for an access token from the camera, the request including the one-time authorization code and a second device identifier,

in response to verifying the one-time authorization code by determining that the second device identifier matches the first device identifier, authenticating the camera by providing the camera with the access token,

associating the access token with a user account,

receiving one or more images associated with the user account from the camera, and

in response to determining that the access token has expired, receiving a refresh token from the camera and provide a new access token to the camera.

7. The method of claim 6 , further comprising:

associating the authenticated application with a user account.

8. The method of claim 6 , further comprising:

in response to determining that the received access token is valid, identifying the user account associated with the received access token and storing the one or more images in a portion of a memory associated with the user account.

9. The method of claim 6 , wherein verifying the one-time authorization code further comprises:

determining if the one-time authorization code is received from the camera within a threshold time period from when the one-time authorization code was provided to the authenticated application.

10. A non-transitory computer-readable storage medium having instructions encoded thereon that, when executed by a processor of a server, causes the server to:

pair a limited input device with an authenticated application using an access token, the authenticated application executing on a first device and configured to enable a user to control one or more camera functions of the limited input device by interacting with the authenticated application;

in response to receiving a request including the first device identifier from the authenticated application for a one-time authorization code, transmit the one-time authorization code to the authenticated application,

receive a request for an access token from the limited input device, the request including the one-time authorization code and a second device identifier,

in response to verifying the one-time authorization code by determining that the second device identifier matches the first device identifier, authenticate the limited input device by providing the limited input device with the access token,

associate the access token with a user account,

receive one or more images associated with the user account from the limited input device, and

in response to determining that the access token has expired, receive a refresh token from the limited input device and provide a new access token to the limited input device.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions, when executed by the processor, further causes the server to:

in response to determining that the received access token is valid, identify the user account associated with the received access token and store the one or more images in a portion of a memory associated with the user account.

Assignments (6)
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: FARALLON CAPITAL MANAGEMENT, L.L.C., AS AGENT
Reel/Frame 072340/0676 →
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 072358/0001 →
RELEASE OF PATENT SECURITY INTEREST Recorded Jan 25, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOPRO, INC.
Reel/Frame 055106/0434 →
SECURITY INTEREST Recorded Oct 19, 2020
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054113/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2018
From: HEIN, CHRISTOPHER
To: GOPRO, INC.
Reel/Frame 046076/0167 →
SECURITY INTEREST Recorded Jun 7, 2018
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 047140/0831 →
Continuity (3)
Continuation 14873162 · Oct 1, 2015
Provisional Application 62059764 · Oct 3, 2014
Related Publication 20180255057A1 · Sep 6, 2018