Automatic authentication for user-dependent functionality
A method includes obtaining, by an application running on a computing device, a single sign-on (SSO) username of a user who is using the device, without input from the user. The method further includes passing the SSO username to an identity provider (IdP) so as to authenticate the user to the application via an SSO process, thereby causing the IdP to send information about the user to the application, and performing a function, by the application, based on the information. Other embodiments are also described.
1 . A computing device, comprising:
a communication interface; and
a processor, configured to execute an application on the computing device so as to:
obtain a single sign-on (SSO) username of a user who is using the device, without input from the user, by:
identifying an authentication correlation ID in communication from an identity provider (IdP) to the device, and
using the authentication correlation ID, querying for the SSO username,
pass the SSO username, via the communication interface, to the IdP so as to authenticate the user to the application via an SSO process, thereby causing the IdP to send information about the user to the application, and
perform a function based on the information.
2 . A method, comprising:
obtaining, by an application running on a computing device, a single sign-on (SSO) username of a user who is using the device, without input from the user, by:
identifying an authentication correlation ID in communication from an identity provider (IdP) to the device, and
using the authentication correlation ID, querying for the SSO username;
passing the SSO username to the IdP so as to authenticate the user to the application via an SSO process, thereby causing the IdP to send information about the user to the application; and
performing a function, by the application, based on the information.
3 . The method according to claim 2 , wherein performing the function comprises sending the information to a service that facilitates functionality of the application.
4 . The method according to claim 2 , wherein performing the function comprises facilitating enforcement of one or more computer-usage rules.
5 . The method according to claim 2 , wherein the application includes a web browser.
6 . The method according to claim 2 , wherein passing the SSO username to the IdP comprises passing the SSO username to the IdP without notifying the user.
7 . The method according to claim 2 , wherein passing the SSO username to the IdP comprises:
opening an authentication window that is not visible to the user; and
submitting the SSO username to IdP via the authentication window.
8 . The method according to claim 2 ,
wherein a service is configured to query the IdP, repeatedly, for any authentication correlation IDs issued by the IdP and respective SSO usernames to which the authentication correlation IDs are issued, and
wherein querying for the SSO username comprises querying the service for the SSO username, such that the service sends the SSO username to the application.
9 . The method according to claim 2 , wherein querying for the SSO username comprises querying the IdP for the SSO username, such that the IdP sends the SSO username to the application.
10 . A method, comprising:
obtaining, by an application running on a computing device, a single sign-on (SSO) username of a user who is using the device, without input from the user, by extracting the SSO username from source code of a web page that is open on the device;
passing the SSO username to an identity provider (IdP) so as to authenticate the user to the application via an SSO process, thereby causing the IdP to send information about the user to the application; and
performing a function, by the application, based on the information.
11 . A computer software product comprising a tangible non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by a processor of a computing device, cause the processor to:
obtain a single sign-on (SSO) username of a user who is using the device, without input from the user, by:
identifying an authentication correlation ID in communication from an identity provider (IdP) to the device, and
using the authentication correlation ID, querying for the SSO username,
pass the SSO username to the IdP so as to authenticate the user to an application via an SSO process, thereby causing the IdP to send information about the user to the processor, and
perform a function based on the information.
12 . The computer software product according to claim 11 , wherein the function includes sending the information to a service that facilitates functionality of the application.
13 . The computer software product according to claim 11 , wherein the function includes facilitating enforcement of one or more computer-usage rules.
14 . The computer software product according to claim 11 , wherein the instructions cause the processor to pass the SSO username to the IdP without notifying the user.
15 . The computer software product according to claim 11 , wherein the instructions cause the processor to pass the SSO username to the IdP by:
opening an authentication window that is not visible to the user, and
submitting the SSO username to IdP via the authentication window.
16 . The computer software product according to claim 11 ,
wherein a service is configured to query the IdP, repeatedly, for any authentication correlation IDs issued by the IdP and respective SSO usernames to which the authentication correlation IDs are issued, and
wherein the instructions cause the processor to query the service for the SSO username such that the service sends the SSO username to the processor.
17 . The computer software product according to claim 11 , wherein the instructions cause the processor to query the IdP for the SSO username such that the IdP sends the SSO username to the processor.
18 . The computer software product according to claim 11 , wherein the instructions cause the processor to obtain the SSO username by extracting the SSO username from source code of a web page that is open on the device.