Systems and methods for controlling sign-on to web applications
AssigneeNasdaq, Inc.
InventorVladimir MITEVSKI
Life of this patent
Estimating the term…
Abstract
The described technology provides a single sign-on capability so that a user who is already signed on to a web application from a client application may not be required to sign-on again when he/she later needs access to the web application from the same or another client application. The technology also provides a multiple login prevention capability to detect multiple sign-on events using the same credentials and disable one or more of the associated multiple sessions.
Claims17
A system comprising at least one client device, and at least one server device executing a server-side portion of a web application,
- the at least one client device including a first processing system having at least one hardware processor, the first processing system being configured to execute a first client application providing a first client-side portion of the web application and a second client application providing a second client-side portion of the web application, wherein the first client application is a browser and the second client application is a native application,
- the at least one server including a second processing system having at least one hardware processor, the second processing system being configured to execute the server-side portion of the web application and to perform operations comprising:
- in response to a first access request received from the first client application, causing the first client application to perform a sign-on process prior to accessing application data provided by the server-side portion of the web application;
- generating, in relation to the performed sign-on process, a first session, wherein the first client application is subsequently provided access to said application data using the first session;
- when a second request is received from the second client application, determining, using at least one characteristic of the second request, whether the first session is useable by the second client application to access said application data;
- in the event that it is determined that the first session is useable by the second client application to access said application data, providing the second client application with access to the application data using the first session;
- in the event that it is determined that the first session is not useable by the second client application to access said application data, causing the second client application to perform a sign-on process prior to accessing the application data, and subsequent to the second client application performing the sign-on process, providing the second client application access to the application data using a second session generated in relation to the sign-on process performed by the second client application;
- generating, in relation to a sign-on by an instance of either the first client application or the second client application executing on another client device, a third session, wherein said instance is subsequently provided access to said application data using the second session;
- and
- in response to generating the third session, deactivating the first session.
A server device including at least one hardware processor configured to execute a server-side portion of a web application and to perform operations comprising:
- in response to a first access request received from a first client application having a first client-side portion of the web application, causing the first client application to perform a sign-on process prior to accessing application data provided by the server-side portion of the web application, wherein the first client application is a browser and the second client application is a native application;
- generating, in relation to the performed sign-on process, a first session, wherein the first client application is subsequently provided access to said application data using the first session;
- when a second request is received from a second client application having a second client-side portion of the web application, determining, using at least one characteristic of the second request, whether the first session is useable by the second client application to access said application data;
- in the event that it is determined that the first session is useable by the second client application to access said application data, providing the second client application with access to the application data using the first session;
- in the event that it is determined that the first session is not useable by the second client application to access said application data, causing the second client application to perform a sign-on process prior to accessing the application data, and subsequent to the second client application performing the sign-on process, providing the second client application access to the application data using a second session generated in relation to the sign-on process performed by the second client application;
- generating, in relation to a sign-on by an instance of either the first client application or the second client application executing on another client device, a third session, wherein said instance is subsequently provided access to said application data using the third session;
- and
- in response to generating the third session, deactivating the first session.
A method performed by a server device including at least one hardware processor, the method comprising:
- executing a server-side portion of a web application;
- in response to a first access request received from a first client application having a first client-side portion of the web application, causing the first client application to perform a sign-on process prior to accessing application data provided by the server-side portion of the web application, wherein the first client application is a browser and the second client application is a native application;
- generating, in relation to the performed sign-on process, a first session, wherein the first client application is subsequently provided access to said application data using the first session;
- when a second request is received from a second client application having a second client-side portion of the web application, determining, using at least one characteristic of the second request, whether the first session is useable by the second client application to access said application data;
- in the event that it is determined that the first session is useable by the second client application to access said application data, providing the second client application with access to the application data using the first session;
- in the event that it is determined that the first session is not useable by the second client application to access said application data, causing the second client application to perform a sign-on process prior to accessing the application data, and subsequent to the second client application performing the sign-on process, providing the second client application access to the application data using a second session generated in relation to the sign-on process performed by the second client application;
- generating, in relation to a sign-on by an instance of either the first client application or the second client application executing on another client device, a third session, wherein said instance is subsequently provided access to said application data using the third session;
- and
- in response to generating the third session, deactivating the first session.
A non-transitory computer-readable storage medium, having stored thereon program instructions which, when executed by a computer of a server device, causes the server device to perform operations comprising:
- executing a server-side portion of a web application;
- in response to a first access request received from a first client application having a first client-side portion of the web application, causing the first client application to perform a sign-on process prior to accessing application data provided by the server-side portion of the web application, wherein the first client application is a browser and the second client application is a native application;
- generating, in relation to the performed sign-on process, a first session, wherein the first client application is subsequently provided access to said application data using the first session;
- when a second request is received from a second client application having a second client-side portion of the web application, determining, using at least one characteristic of the second request, whether the first session is useable by the second client application to access said application data;
- in the event that it is determined that the first session is useable by the second client application to access said application data, providing the second client application with access to the application data using the first session;
- in the event that it is determined that the first session is not useable by the second client application to access said application data, causing the second client application to perform a sign-on process prior to accessing the application data, and subsequent to the second client application performing the sign-on process, providing the second client application access to the application data using a second session generated in relation to the sign-on process performed by the second client application;
- generating, in relation to a sign-on by an instance of either the first client application or the second client application executing on another client device, a third session, wherein said instance is subsequently provided access to said application data using the third session;
- and
- in response to generating the second session, deactivating the first session.
A client device including at least one hardware processor configured to execute a first client application which is a browser providing a first client-side portion of a web application and a second client application which is a native application providing a second client-side portion of the web application, and to perform operations comprising:
- performing, by the first client application having transmitted a first request to a server-side portion of the web application, a sign-on to the server-side portion of the web application, and subsequent to the performed sign-on accessing application data from the server-side portion of the web application using a first session generated in relation to the performed sign-on;
- determining, by the second client application, one or more candidate browser controls for use by the second client application to communicate with the server-side portion of the web application;
- transmitting by the second client application to a server device on which the server-side portion of the web application is executed, a first instance of a second request, wherein the first instance corresponds to a first selected one of the one or more candidate browser controls;
- based upon a response received to the transmitted first instance of the second request, determining, by the second client application, whether to access application data of the server-side portion of the web application, or to transmit a second instance of the second request, wherein the second instance corresponds to another one of the one or more candidate browser controls, and
- cancelling the first session in response to an indication from the server device that it has deactivated the first session,
- wherein (a) when a browser type of the first client application is the same as a browser type of the first selected one of the one or more candidate browser controls, the response received indicates a presence of the first session, and (b) when the browser type of the first client application is different from the browser type of the first selected one of the one or more candidate browser controls, the response received represents a failure to find an existing session usable by the second client application.
Dependencies are inferred from the claim text.