IP Library Granted Patent US 9,338,007
Granted Patent B1
US 9,338,007 · App. 13/662,260 · Granted May 10, 2016

Secure delegated authentication for applications

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 9,338,007
App. No.
13/662,260
Granted
May 10, 2016
Kind
B1
Abstract

A system for secure delegated authentication for applications may include one or more processors and a memory. The one or more processors perform operations including receiving a request from an application to retrieve a user authorization associated with a service provider. The operations also include authenticating the application in response to the request, the application being assigned a first identifier to associate the request with the application. The operations also include communicating the request to the service provider upon the application being authenticated. The operations also include receiving a response from the service provider, the response identifying a particular application associated with the service provider. The operations also include comparing the first identifier with at least a portion of the response to determine a match. The operations further include forwarding the received response to the application if a match is determined.

Claims (49)

1. A computer-implemented method for secure delegated authentication for applications, the method comprising:

receiving a request from an application to retrieve a user authorization associated with a service provider;

authenticating the application using a first identifier to associate the request with the application, the first identifier identifying an active session associated with the application that provided the request;

communicating, after authenticating the application, the received request to the service provider;

receiving a response from the service provider, at least a portion of the response comprising a redirect network address identifying a second identifier associated with a particular application;

parsing the received response to obtain at least a portion of the redirect network address that corresponds to the second identifier;

determining if there is a match between the at least a portion of the redirect network address and the first identifier associated with the application that provided the request; and

forwarding the received response to the application if a match is determined.

2. The method of claim 1 , wherein the second identifier is associated with a predefined extension indicative of a network address provided by the application during a registration between the application and the service provider.

3. The method of claim 2 , wherein the response comprises the predefined extension including information indicative of the second identifier associated with the application.

4. The method of claim 1 , wherein the received response comprises a request from the service provider to forward the redirect network address to the application.

5. The method of claim 1 , further comprising: obtaining an indication of user consent for the application, the user consent providing permission for the application to retrieve authorized data from the service provider.

6. The method of claim 5 , wherein communicating the request comprises sending the obtained indication of user consent to the service provider.

7. The method of claim 1 , wherein authenticating the application comprises providing a user interface to receive user credentials for accessing the service provider.

8. The method of claim 1 , wherein the response comprises a token that authorizes the application to retrieve authorized data from the service provider.

9. The method of claim 1 , further comprising:

determining that the received response is not to be forwarded to the application when a comparison between the first identifier and the at least a portion of the redirect network address that corresponds to the second identifier produces a mismatch.

10. The method of claim 9 , further comprising:

notifying the application that the received response from the service provider is not to be forwarded to the application based on the mismatch.

11. A system for secure delegated authentication for applications, the system comprising:

one or more processors; and

a memory including instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a request from an application to retrieve a user authorization associated with a service provider;

authenticating the application in response to the request, the application being assigned a first identifier to associate the request with the application, the first identifier identifying an active session associated with the application that provided the request;

communicating the request to the service provider upon the application being authenticated;

receiving a response from the service provider, the response comprising a redirect network address identifying a second identifier associated with a particular application;

parsing the received response to obtain at least a portion of the redirect network address that corresponds to the second identifier;

comparing the first identifier to the at least a portion of the redirect network address to determine a match; and

sending the received response from the service provider to the application if a match is determined.

12. The system of claim 11 , wherein the memory further includes instructions that facilitate the steps of:

storing the first identifier in the memory; and

retrieving the stored first identifier from the memory to compare to the second identifier.

13. The system of claim 11 , wherein the second identifier is associated with a predefined extension indicative of a network address provided by the application during a registration between the application and the service provider.

14. The system of claim 13 , wherein the response comprises the predefined extension including information indicative of the second identifier associated with the application.

15. The system of claim 11 , wherein the received response comprises a request from the service provider to forward the redirect network address to the application.

16. The system of claim 11 , wherein the response comprises a token that authorizes the application to retrieve authorized data from the service provider.

17. A non-transitory machine readable medium embodying instructions that, when executed by a machine, allow the machine to perform a method for secure delegated authentication for applications, the method comprising:

receiving a request from an application to retrieve a user authorization associated with a service provider;

authenticating the application using a first identifier that is indicative of the application that provided the request, the first identifier identifying an active session associated with the application that provided the request;

communicating the request to the service provider to perform operations in response to the request;

receiving a response from the service provider based on the request, the response comprising a redirect network address identifying a second identifier associated with the application;

parsing the received response to obtain at least a portion of the redirect network address that corresponds to the second identifier;

comparing the at least a portion of the redirect network address to the first identifier to determine whether the received response is targeted for the application that provided the request; and

forwarding the received response to the application if a match is determined.

18. The non-transitory machine readable medium of claim 17 , wherein the second identifier is associated with a predefined extension indicative of a network address provided by the application during a registration between the application and the service provider.

19. The non-transitory machine readable medium of claim 18 , wherein the response comprises the predefined extension including information indicative of the second identifier associated with the application.

20. The non-transitory machine readable medium of claim 17 , wherein the received response comprises a request from the service provider to forward the redirect network address to the application.

21. The non-transitory machine readable medium of claim 17 , wherein the response comprises a token that authorizes the application to retrieve authorized data from the service provider.

22. The method of claim 1 , wherein the first identifier uniquely identifies the active session associated with the application from among a plurality of sessions associated with other applications.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2012
From: DOSHI, MUNJAL
To: GOOGLE INC.
Reel/Frame 029221/0832 →