IP Library Granted Patent US 8,990,917
Granted Patent B2
US 8,990,917 · App. 13/728,653 · Granted Mar 24, 2015

Authentication of applications that access web services

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 8,990,917
App. No.
13/728,653
Granted
Mar 24, 2015
Kind
B2
Abstract

Systems and methods for authenticating applications that access web services. In one embodiment, a web service gateway intercepts a request for a web service from an application, and determines if the application is authorized by a service provider based on information provided in the web service request. If the application is authorized, then the web service gateway identifies a profile for an end user that initiated the web service using the application, and determines if the web service is allowed for the end user based on the profile. If the web service is allowed for the end user, then the web service gateway determines that the application is authenticated, converts the web service request to a protocol used by a server that provides the web service, and transmits the web service request to the server.

Claims (67)

1. An apparatus comprising:

a web service gateway for a service provider, the web service gateway configured to interface an application for a web service with a server that provides the web service;

wherein the web service gateway is configured to intercept a request for a web service from the application, and to determine whether the application is authorized by the service provider based on information provided in the web service request;

wherein the web service gateway is further configured, if at least the application is authorized,

to identify a profile for an end user that initiated the web service using the application, wherein the profile for the end user indicates what services are allowed based on subscriptions of the end user, and

to determine if at least the web service is allowed for the end user based on the profile; and

wherein the web service gateway is further configured, if at least the web service is allowed for the end user,

to determine that the application is authenticated,

to convert the web service request to a protocol used by the server that provides the web service, and

to transmit the web service request to the server.

2. The apparatus of claim 1 wherein:

the web service gateway is further configured, if at least the application is not authorized,

to deny the request for the web service, and

to generate a security patch based on information regarding the request for the web service.

3. The apparatus of claim 1 wherein:

the web service gateway is further configured to locate an application identifier in the web service request that is assigned to the application, and to compare the application identifier to a white list of applications to determine whether the application is authorized.

4. The apparatus of claim 3 wherein:

the web service gateway is further configured locate a partner identifier in the web service request that is assigned to an entity that developed the application, and to compare the partner identifier to a whitelist of partners to determine whether the application is authorized.

5. The apparatus of claim 4 wherein:

the web service gateway is further configured locate a campaign identifier in the web service request, and to process the campaign identifier to select policies for determining whether the application is authorized.

6. The apparatus of claim 1 wherein:

the web service gateway is further configured to process the profile for the end user to identify an alternate method of communicating with the end user other than through the application, and to send a query to the end user through the alternate method of communication to verify that the end user requested the web service.

7. The apparatus of claim 6 wherein:

the web service gateway is further configured to receive a response from the end user verifying the end user's desire for the web service, and to send the request to the server that provides the web service after receiving the response from the end user.

8. The apparatus of claim 6 wherein:

the alternate method of communicating with the end user comprises a text message.

9. The apparatus of claim 1 wherein:

the web service gateway is further configured to locate context information stored for the end user, to process the profile for the end user to determine a subset of the context information that is authorized to be sent to the server for the web service, and to send the subset of the context information to the server.

10. The apparatus of claim 9 wherein:

the web service gateway is further configured to send a query to the end user to determine the subset of the context information that is authorized to be sent to the server.

11. A method comprising:

intercepting a request for a web service in a web service gateway from an application, wherein the web service gateway interfaces the application for the web service with a server that provides the web service in a network of a service provider;

determining whether the application is authorized by the service provider based on information provided in the web service request;

based on at least the application being authorized:

identifying a profile for an end user that initiated the web service using the application, wherein the profile for the end user indicates what services are allowed based on subscriptions of the end user; and

determining whether the web service is allowed for the end user based on the profile;

based on at least the web service being allowed for the end user:

determining that the application is authenticated;

converting the web service request to a protocol used by the server that provides the web service; and

transmitting the web service request to the server.

12. The method of claim 11 further comprising:

based on at least the application not being authorized:

denying the request for the web service; and

generating a security patch based on information regarding the request for the web service.

13. The method of claim 11 wherein determining whether the application is authorized by the service provider based on information provided in the web service request comprises:

locating an application identifier in the web service request that is assigned to the application; and

comparing the application identifier to a white list of applications to determine whether the application is authorized.

14. The method of claim 13 wherein determining whether the application is authorized by the service provider based on information provided in the web service request further comprises:

locating a partner identifier in the web service request that is assigned to an entity that developed the application; and

comparing the partner identifier to a whitelist of partners to determine whether the application is authorized.

15. The method of claim 14 wherein determining whether the application is authorized by the service provider based on information provided in the web service request further comprises:

locating a campaign identifier in the web service request; and

processing the campaign identifier to select policies for determining whether the application is authorized.

16. The method of claim 11 further comprising:

processing the profile for the end user to identify an alternate method of communicating with the end user other than through the application; and

sending a query to the end user through the alternate method of communication to verify that the end user requested the web service.

17. The method of claim 16 further comprising:

receiving a response from the end user verifying the end user's desire for the web service; and

sending the request to the server that provides the web service after receiving the response from the end user.

18. The method of claim 16 wherein:

the alternate method of communicating with the end user comprises a text message.

19. The method of claim 11 further comprising:

locating context information stored for the end user;

processing the profile for the end user to determine a subset of the context information that is authorized to be sent to the server for the web service; and

sending the subset of the context information to the server.

20. The method of claim 19 further comprising:

sending a query to the end user to determine the subset of the context information that is authorized to be sent to the server.