Client device information for controlling access to web applications
AssigneeNasdaq, Inc.
InventorsAnis A. Khwaja, Dimitry Fayerman, Vladimir Mitevski
Life of this patent
Estimating the term…
Abstract
The described technology provides for plural application processes including at least one application in a browser to reliably acquire device information that can be used by other processes to accurately determine whether the plural applications are running on the same client device and/or are associated with aspects of the same client device. The more reliable determination of the devices associated with respective application processes can be used for various purposes such as, for example, user access management capabilities such as improved single sign-on (SSO) capability and/or improved multiple login prevention (MLP) capability.
Claims18
A system comprising:
- a client device comprising a first processing system having at least one processor, wherein the first processing system is configured to perform operations comprising:
- executing, on the client device, (1) a first client application within a web browser, the first client application providing a first client-side portion of a web application;
- (2) a second client application providing a second client-side portion of the web application;
- and (3) a service application at a privilege level different from a privilege level of the first client application or the second client application, the service application being configured to determine at least one piece of client identifying information that uniquely identifies the first processing system and to provide the determined at least one piece of client identifying information to the first client application and to the second client application,
- wherein the first client application and the second client application obtain the determined at least one piece of client identifying information from the service application,
- wherein the first client application transmits a first request with the obtained at least one piece of client identifying information,
- wherein the second client application transmits a second request with the obtained at least one piece of client identifying information, and
- wherein the service application comprises HTTP server functionality, and communication between the service application and the first client application is based upon HTTP and JSON;
- and
- at least one server device comprising a second processing system having at least one processor, wherein the second processing system is configured to execute a server-side process of the web application and to perform operations comprising:
- receiving the first request from the first client application and the second request from the second client application, the first request including a first client identifying information and the second request including second client identifying information;
- determining whether the second client identifying information corresponds to the first client identifying information;
- and
- performing a first action which includes enabling the first and second client applications to share a login session if the determining determines that the second client identifying information corresponds to the first client identifying information, and performing a second action which includes disabling a login session for at least one of the first and second client applications if the determining determines that the second client identifying information does not correspond to the first client identifying information.
A method performed in a client device by a first processing system having at least one processor, the method comprising:
- running on the client device (A) a first client application within a web browser, the first client application providing a first client-side portion of a web application, (B) a second client application providing a second client-side portion of the web application, and (C) a service application at a privilege level different from a privilege level of the first client application or the second client application, the service application being configured to determine at least one piece of client identifying information that uniquely identifies the first processing system and to provide the determined at least one piece of client identifying information to the first client application and to the second client application, wherein the first client application, the second client application and the service application run on the client device, and wherein the service application comprises HTTP server functionality, and communication between the service application and the first client application is based upon HTTP and JSON;
- obtaining, by the first client application and the second client application, the determined at least one piece of client identifying information from the service application;
- transmitting to the server-side process of the web application, by the first client application and the second client application, respective requests including the obtained at least one piece of client identifying information;
- and
- responsive to a response received from the server-side process for the second request, determining further processing of at least one of the first client application or the second client application.
A non-transitory computer-readable storage device having stored therein instructions, that when executed by at least one processor of a first processing system of a client device, causes the first processing system to perform operations comprising:
- running on the client device (A) a first client application within a web browser, the first client application providing a first client-side portion of a web application, (B) a second client application providing a second client-side portion of the web application, and (C) a service application at a privilege level different from a privilege level of the first client application or the second client application, the service application being configured to determine at least one piece of client identifying information that uniquely identifies the first processing system and to provide the determined at least one piece of client identifying information to the first client application and to the second client application, wherein the first client application, the second client application and the service application run on the client device, and wherein the service application comprises HTTP server functionality, and communication between the service application and the first client application is based upon HTTP and JSON;
- obtaining, by the first client application and the second client application, the determined at least one piece of client identifying information from the service application;
- transmitting to the server-side process of the web application, by the first client application and the second client application, respective requests including the obtained at least one piece of client identifying information;
- and
- responsive to a response received from the server-side process for the second request, determining further processing of at least one of the first client application or the second client application.
Dependencies are inferred from the claim text.