Secure proxied data retrieval from third-party services
AssigneeFacebook, Inc.
InventorsKiranjit Singh Sidhu, Thomas Alison, Kenneth Foo Chuan Khit, Kelvin Foo Chuan Lyi
Life of this patent
Estimating the term…
Abstract
In one embodiment, a social networking system transmits a client proxy application to a client device in order to export data from a third-party site that has instituted IP address blocking or rate limiting. In particular embodiments, the proxy application multiplexes a plurality of web responses from the third-party server over a single socket communication with a proxy server. In particular embodiments, the proxy application obtains data from the third-party service and relays it via the proxy server to the social networking system.
Claims18
A method comprising:
- sending, from a social-networking system, by way of a proxy application installed on a client computing device associated with a user of the social-networking system, a request addressed to a third-party server for contact information associated with one or more users of one or more services associated with the third-party server, wherein:
- the request obscures any identification of the social-networking system by at least obscuring network information associated with the social-networking system, and
- the proxy application comprises instructions to cause the proxy application to:
- initiate one or more secure connections with a token exchanger,
- receive, from the token exchanger, a unique session ID, a host ID, and an encryption key, wherein the host ID identifies a proxy server, and
- initiate one or more secure connections with the proxy server;
- receiving, at the social-networking system, from the third-party server and by way of the proxy application, the contact information;
- cross-referencing, by the social-networking system, the contact information received from the third-party server with a database of user information of users of the social-networking system;
- identifying, by the social-networking system, based at least in part on the cross-referencing, one or more of the users of the services who are also users of the social-networking system;
- and
- sending, by the social-networking system, to the client computing device, information identifying one or more accounts of the social-networking system, wherein each of the accounts is associated with one or more of the users of the services who are also users of the social-networking system.
One or more non-transitory computer-readable storage media embodying software that is operable when executed by one or more computing systems associated with a social-networking system to:
- send by way of a proxy application installed on a client computing device associated with a user of the social-networking system, a request addressed to a third-party server for contact information associated with one or more users of one or more services associated with the third-party server, wherein:
- the request obscures any identification of the social-networking system by at least obscuring network information associated with the social-networking system, and
- the proxy application comprises instructions to cause the proxy application to:
- initiate one or more secure connections with a token exchanger,
- receive, from the token exchanger, a unique session ID, a host ID, and an encryption key, wherein the host ID identifies a proxy server, and
- initiate one or more secure connections with the proxy server;
- receive, from the third-party server and by way of the proxy application, the contact information;
- cross-reference the contact information received from the third-party server with a database of user information of users of the social-networking system;
- identify, based at least in part on the cross-referencing, one or more of the users of the services who are also users of the social-networking system;
- and
- send, to the client computing device, information identifying one or more accounts of the social-networking system, wherein each of the accounts is associated with one or more of the users of the services who are also users of the social-networking system.
A system comprising:
- one or more processors associated with a social-networking system;
- and
- a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:
- send by way of a proxy application installed on a client computing device associated with a user of the social-networking system, a request addressed to a third-party server for contact information associated with one or more users of one or more services associated with the third-party server, wherein:
- the request obscures any identification of the social-networking system by at least obscuring network information associated with the social-networking system, and
- the proxy application comprises instructions to cause the proxy application to:
- initiate one or more secure connections with a token exchanger,
- receive, from the token exchanger, a unique session ID, a host ID, and an encryption key, wherein the host ID identifies a proxy server, and
- initiate one or more secure connections with the proxy server;
- receive, from the third-party server and by way of the proxy application, the contact information;
- cross-reference the contact information received from the third-party server with a database of user information of users of the social-networking system;
- identify, based at least in part on the cross-referencing, one or more of the users of the services who are also users of the social-networking system;
- and
- send, to the client computing device, information identifying one or more accounts of the social-networking system, wherein each of the accounts is associated with one or more of the users of the services who are also users of the social-networking system.
Dependencies are inferred from the claim text.