Abstract:
Methods and systems for providing a third party application with access to files stored on a server are disclosed. A method may include receiving, from a browser at a client device, a request for a file stored on the server, wherein the request is received via a web page provided by the third party application and rendered by the browser, the web page comprising an embedded user interface (UI) component associated with the server to access the file stored on the server, wherein the request includes a document identifier associated with the file, an application identifier of the third-party application, and an origin identifier, wherein the origin identifier is associated with the web page provided by the third party application and rendered by the browser. The method may further include authenticating the application identifier at the server, wherein authenticating the application identifier comprises determining whether the application identifier references a valid application, and based on the document identifier, the authenticated application identifier and the origin identifier, granting access to the file for the third party application via the embedded UI component.
Abstract:
A method for saving a file stored on a third-party system to a cloud storage system includes receiving, at a cloud storage server of the cloud storage system, a save request from the third party system. The save request is generated in response to a user selecting, via a user interface presented on a client computer, the file from a plurality of files stored on the third-party system, the file to be saved to the cloud storage server. The save request comprises a file identifier of the file and information identifying the user. The information identifying the user allows access to a user account of the user on the cloud storage system without use of the client computer as intermediary service, and the third-party system stores the file associated with the file identifier. The method further includes authenticating the save request, based at least in part on the information identifying the user, creating a copy of the file at the cloud storage server, and associating the copy of the file with the user.
Abstract:
A method for saving a file stored on a third-party system directly to a cloud storage system includes providing a third-party system with an embeddable user interface for saving a plurality of files stored on the third-party system to a server hosting the cloud storage system. The method further includes receiving at the server a save request from a user on a client computer using the embeddable user interface to select the first file to be stored on the server, where the save request comprises information identifying a first file in the plurality of files. The method further includes authenticating the save request, downloading the first file from the third-party system directly to the server using the information identifying the first file, and saving the first file on the server.
Abstract:
Systems and methods are disclosed herein for identifying an application for opening a file. A first user input indicative of a file selected by a user is received over a user interface. The selected file has an input file type and is an attachment to an email. Data indicative of the input file type is transmitted over a communications network. A reference list of applications is obtained by combining association requests from application developers to associate respective applications with one or more file types, and a matched list is obtained by removing applications from the reference list, each of the removed applications being associated with a set of one or more file types that each mismatch the input file type. The matched list is displayed over the user interface, which receives a second user input indicative of a selected application from the matched list.
Abstract:
A method for providing a conditional scored list of applications for use in recommending applications includes storing on a cloud computing service a conditional probability table across a set of available applications provided by the cloud computing service. The cloud computing service receives a request to provide a scored list of applications for a user, retrieves a set of user-installed applications for the user, and calculates a total conditional probability for each application in the set of available applications. The cloud computing service then constructs the scored list of applications from the set of available applications, where a score of each application is its corresponding total conditional probability, and outputs the scored list of applications.
Abstract:
Methods and systems provide embeddable user interface widgets to third-party applications so that the widgets can be securely embedded in, and securely used from within, the third-party applications. An embeddable widget may be authorized to access a first-party cloud storage system from a third-party application based on the cloud storage system authenticating a request received from the widget. The authentication may be based on an application identifier, an origin identifier, and/or one or more document identifiers received from the third-party application through the embedded widget. The disclosed methods and systems may significantly mitigate security concerns caused by embedding software in third-party sites, such as clickjacking.
Abstract:
Methods and systems provide embeddable user interface widgets to third-party applications so that the widgets can be securely embedded in, and securely used from within, the third-party applications. An embeddable widget may be authorized to access a first-party cloud storage system from a third-party application based on the cloud storage system authenticating a request received from the widget. The authentication may be based on an application identifier, an origin identifier, and/or one or more document identifiers received from the third-party application through the embedded widget. The disclosed methods and systems may significantly mitigate security concerns caused by embedding software in third-party sites, such as clickjacking.
Abstract:
Systems and methods disclosed herein relate to a method of storing metadata for a file on a cloud based storage system. A server may receive a request from a third party application to store metadata for a file. The server may determine a metadata type based on the request. The server may associate the metadata value with an application identifier. The application identifier may identify a third party application. The server may store the metadata value based on the determined metadata type. The stored metadata may be associated with the application identifier and the stored metadata value may include information related to an anchor. The anchor may be an attribute of the file, and anchor can change respectively as the attribute changes.
Abstract:
Methods and systems provide embeddable user interface widgets to third-party applications so that the widgets can be securely embedded in, and securely used from within, the third-party applications. An embeddable widget may be authorized to access a first-party cloud storage system from a third-party application based on the cloud storage system authenticating a request received from the widget. The authentication may be based on an application identifier, an origin identifier, and/or one or more document identifiers received from the third-party application through the embedded widget. The disclosed methods and systems may significantly mitigate security concerns caused by embedding software in third-party sites, such as clickjacking.