Techniques are described in which to access a user's web applications, the user registers and signs on to an aggregator system using any supported login identity provider username and password. When the user registers for the first time, the system collects additional information to verify the user for a subsequent access to the system. The system also automatically creates a system secret username and secret, highly securely generated password, both of which are unknown and inaccessible to the user. The secret username and password are stored in an lightweight directory access protocol (LDAP) server or database or in a distributed cloud database system. The system also maps the login identity provider user name to the secret user name and password for subsequent usage.
|
8. A system, comprising:
a processor; and
non-transitory computer-readable storage medium coupled to the processor and having instructions stored thereon, which, when executed by the processor, cause the processor to perform operations comprising:
receiving, based on a user interaction with a user interface communicably connected to the processor, a first-time request to login to a third-party application;
responsive to receiving the request to login to the third-party application, presenting a selectable indicator on the user interface to allow the user to login to the third-party application through a login identity provider, said login identity provider communicably connected to said processor;
receiving a selected login identity provider based on user interaction with said selectable indicator;
responsive to receiving said selected login identity provider, retrieving from a first storage a first user identity associated with said selected login identity provider;
responsive to retrieving the first user identity associated with said selected login identity provider, matching the first user identity to a private user identity stored in a second storage, wherein the second storage is only accessible by the processor and wherein the private user identity was previously automatically generated when the user initially was registered;
responsive to matching the first user identity to the private user identity, automatically generating a second user identity associated with the private user identity, wherein the second user identity is also associated with the third-party application and wherein the second user identity is used to allow the user to login to the third-party application during subsequent logins without prompting the user to re-enter authentication credentials; and
responsive to generating the second user identity, allowing the user to create a new account on or login to the third-party application.
1. A computer-implemented method, comprising:
receiving, at a computer system based on a user interaction with a user interface of the computer system, a first-time request to login to a third-party application, wherein the user is already logged into the computer system;
responsive to receiving the request to login to the third-party application, the computer system presenting a selectable indicator on the user interface to allow the user to login to the third-party application through a login identity provider, said login identity provider communicably connected to said computer system;
receiving, by the computer system, a selected login identity provider based on user interaction with said selectable indicator;
responsive to receiving said selected login identity provider, said computer system retrieving from a first storage a first user identity associated with said selected login identity provider;
responsive to retrieving the first user identity associated with said selected login identity provider, the computer system matching the first user identity to a private user identity stored in a second storage, wherein the second storage is only accessible by the computer system and wherein the private user identity was previously automatically generated by the computer system when the user initially registered with the computer system;
responsive to matching the first user identity to the private user identity, the computer system automatically generating a second user identity associated with the private user identity, wherein the second user identity is also associated with the third-party application and wherein the second user identity is used by the computer system to allow the user to login to the third party application during subsequent logins without prompting the user to re-enter authentication credentials; and
responsive to generating the second user identity, the computer system allowing the user to create a new account on or login to the third-party application.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
10. The system of
11. The system of
12. The system of
13. The system of
14. The system of
|
This patent application claims priority from U.S. Provisional Patent Application No. 62/120,153, SOCIAL SINGLE SIGN-ON AGGREGATOR WITHOUT USERNAMES AND PASSWORDS, filed Feb. 24, 2015, the entirety of which is incorporated herein by this reference thereto.
Technical Field
This innovation relates generally to the field of automated identity and access management technology. More specifically, this innovation relates to using aggregator technology without usernames and passwords for automating identity and access management.
Background
Many organizations rely on technological identity and access management solutions to keep pace with the growth of their organizations, e.g. gaming and hospitality enterprises. Thus, for example, such organizations deploy automated user de-provisioning or password policy enforcement.
In today's environment, partner enterprises allow an external user from one organization outside of their network to have access to an internal application of their organization within their own network. This type of partnership can be referred to as federated identity management. With using federated identity management, an internal application written at Company A can be made publicly available. For a user at Company B on one type of network to access on an entirely different network the internal application written at Company A, the user has to perform the following procedure. The user creates an internal ID at Company A, enters the internal application and maps his external ID from his own network to his internal ID on Company A's network. Further, Company A can allow the user to access their internal application by the user using a social network account, such as a LinkedIn (Mountain View, Calif.; “LinkedIn”) account for example. Then, Company A can link the external user's social network account sign on to Company A's internal application.
The technique described above allows Company A to manage their partners' access to their internal applications.
Today, there's a technology known as federation, which allows an enterprise to manage their partners' access to their internal applications. However, federation requires high maintenance for every partner company and a lot of initial effort to set up and configure.
Techniques are described in which to access a user's web applications, the user registers and signs on to an aggregator system using any supported login identity provider username and password or other authenticating credentials. When the user registers for the first time, the system collects additional information to verify the user for a subsequent access to the system. The system also automatically creates a system secret or private identity such as a secret username and secret, highly securely generated password, both of which are unknown and inaccessible to the user. The secret identity, such as secret username and password, is stored in an lightweight directory access protocol (LDAP) server or database or in a distributed cloud database system. The system also maps the login identity provider user name to the secret user name and password for subsequent usage.
One or more embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings.
Introduced here is a technique with which to access a user's web applications. The user registers and signs on to an aggregator system using any supported login identity provider username and password. When the user registers for the first time, the system collects additional information to verify the user for a subsequent access to the system. The system also automatically creates an system secret username and secret, highly securely generated password, both of which are unknown and inaccessible to the user. The secret username and password are stored in an lightweight directory access protocol (LDAP) server or database or in a distributed cloud database system. The system also maps the login identity provider user name to the secret user name and password for subsequent usage.
References in this description to “an embodiment”, “one embodiment”, or the like, mean that the particular feature, function, structure or characteristic being described is included in at least one embodiment of the present invention. Occurrences of such phrases in this specification do not necessarily all refer to the same embodiment. On the other hand, the embodiments referred to also are not necessarily mutually exclusive.
An exemplary embodiment of an aggregator platform without usernames and passwords is a social single sign-on (“sSSO”) platform. It should be appreciated that the technique discussed herein can also refer to the aggregator system or application, depending on the context of the discussion. Such platform comprises a server that aggregates a plurality of web applications both internal to an organization and that are public facing to login identity providers including social networking sites such as for example LinkedIn or Facebook (Menlo Park, Calif.; “Facebook”). The platform presents the aggregation of such web applications as links provided to a particular user.
Examples of login identity providers include but are not limited to social networking sites, Linkedin and Facebook. A sample non-exhaustive list can be found in
Non-exhaustive examples of web applications that can be aggregated by the server can be found in
It should be appreciated that the aggregator platform is not limited to the social single sign-on environment. The techniques introduced herein are applicable to aggregators that allow end users to add an application, such that to link to the application at any future time, and from any device, would not need to reenter an ID and/or password. However, employing the social single sign-on implementation of the technique as discussion herein is for purposes of understanding the innovation herein and not for limiting purposes.
To access any of the user's web applications, the user registers and signs on to a social sign-on system (“sSSO”) using any supported login identity provider user name and password. For example, the user can register to sSSO using his user name and password that he uses for his Linkedin account. If the user is registering for the first time, the sSSO collects additional information to verify the user later such as for a subsequent access to sSSO. For example, sSSO can collect but is not limited to collecting the user's mobile phone number, questions and answers related to information unique to the user, pictures, biometric data, and/or social information from the identity providers, such as for example information regarding friends, pictures, dates, and conversations. sSSO also automatically creates an sSSO secret user name and a sSSO secret, highly securely generated password. Both such secret user name and secret password are unknown and inaccessible to the user. In an embodiment, this secret user name and secret password are stored in an lightweight directory access protocol (LDAP) server or database or in a distributed cloud database system, etc. sSSO also maps or links the login identity provider user name to the secret user name and password of sSSO system for subsequent usage.
After the user has registered, the user can start using signal sign-on to login automatically to web applications available to the sSSO system. The login identity provider is mapped to the sSSO secret internal user name for purposes of displaying the configured SSO enabled web applications to the appropriate sSSO logged in user. In short, the sSSO secret internal user name is used to display the right apps (web applications) to the right user. Thus, for example, when the user obtains a new, upgraded smartphone, the user does not need to download and reenter the user ID and password for each of his web applications. The user can access any and all of his applications registered in the sSSO from the sSSO application.
In an embodiment, to enable a web application for sSSO requires entering a user name and optionally a password. An example implementation can be found in
If the SSO web application, e.g. Office Depot in
If the sSSO user decides to login using a new unregistered login identity provider, e.g. Facebook, and the user never enabled that login identity provider web application for SSO, the sSSO system will attempt to identify the end user. For example, the sSSO system can go to and use a stored list of usernames and related metadata such as email addresses, actual names, etc., and display candidate selections, e.g. a list of users with similar names from the registered login identity providers, e.g. FACEBOOK: Julie@yahoo.com. That is, the sSSO system prompts the user to pick the login identity provider user name that they recognize. The login identity provider user name can be received by other input means such as for example the user entering his or her user name in a text box, audibly providing the user name, selecting an image that is recognized by the user, providing biometric data such as a finger print, and so on. In addition to using the received user input, the sSSO verifies the identity of the sSSO user by using additional registration information, that is information which was provided by the user when the user registered. For example, such additional registration information can include but is not limited to SMS, Questions/Answers, already registered login identity provider information, biometric information, etc.
An embodiment can be understood with reference to
Social Federation social single sign-on (“sFed”) can be a system, API, or service that enables an organization such as a company, a university, or a government agency, etc. or end user to easily and securely enable an external party such as a contractor, vendor, alumni, family, friends, etc. access to internal (private) and external (public) web applications without using traditional federation technologies or manually requiring setting up a new user name and password. sFed combined with sSSO easily and securely shares web site login-related data with any user who already has a username and password on a login identity provider website.
An embodiment of the invention can be understood with reference to
An embodiment of the invention can be understood with reference to
In an embodiment, sSSO enables a user to share login capability along with sharing an application.
An embodiment provides a sSSO delegation administrator model and corresponding functionality. An administrator can delegate a particular sSSO user to a particular sSSO application, as shown in
If the sFed administrator or sSSO end user is delegating (sharing) a SSO enabled web application, that is using a fixed username and password or a known user name and password to multiple people or shared within the organization to the sSSO user, then system is configured to cause the shared web application to automatically appear on the sSSO users' sSSO interface. For example, sFed uses an API or direct database calls to add the new SSO enabled web application to the user's sSSO interface.
If the sFed administrator is delegating a SSO enabled web application that is using a username and password that is unique to the sSSO user, then sFed automatically creates a user name and password on the enabled web application. For example sFed can use a format for exchanging authentication and authorization data between parties such as between an identity provider and a service provider, e.g. Security Assertion Markup Language (SAML). Or sFed can use internal methods. Then the SSO enabled web application automatically appears enabled on the sSSO user's sSSO interface.
A technique is introduced by which a web crawler system crawls for web applications that require logons, regardless of content. Each identified web application is added to a database, such as for example the sSSO databases 410 or 414, of such type of applications. In accordance to one technique, the web crawler system discovers a web application and then attempts to logon to the application with a bogus ID and a bogus password. If the attempt is unsuccessful, the web crawler system creates a definition for the web application, where the definition defines attributes of the web application. The web crawler system uses these attributes to categorize the web application within the database. Based on matching the categorization and user profiles, the web crawler system offers the web application to a particular user to add the web application to the user's aggregation of web applications. For instance, the web crawler system can display or send a message to the particular user indicating, “You like bicycles. Perhaps you'd like to add this bicycle application (‘bikeapp.com’) to your aggregated applications.”
A smartphone or tablet paradigm or environment illustrates how the innovation solves the technical problem of using computer network resources and bandwidth efficiently by streamlining user interactions with the network.
For any new device and in particular for the devices shown, the innovation streamlines user interactions with network, because the user does not need to download and reenter a user ID and password for each of the user's applications. With the technique introduced herein, the user can launch any application already registered in the aggregator platform with a single click, for instance as shown in
A further efficiency, among others, is afforded the technique introduced here by enabling a user from any device the ability to login with one click to the aggregator system, e.g. as shown in
A further efficiency is afforded the technique by allowing the user, in addition to launching with one click to a designated application, to add and configure a new application to his already registered applications, as shown in
The computer system 1500 includes a processor 1502, a main memory 1504 and a static memory 1506, which communicate with each other via a bus 1508. The computer system 1500 may further include a display unit 1510, for example, a liquid crystal display (LCD) or a cathode ray tube (CRT). The computer system 1500 also includes an alphanumeric input device 1512, for example, a keyboard; a cursor control device 1514, for example, a mouse; a disk drive unit 1516, a signal generation device 1518, for example, a speaker, and a network interface device 1528.
The disk drive unit 1516 includes a machine-readable medium 1524 on which is stored a set of executable instructions, i.e. software, 1526 embodying any one, or all, of the methodologies described herein below. The software 1526 is also shown to reside, completely or at least partially, within the main memory 1504 and/or within the processor 1502. The software 1526 may further be transmitted or received over a network 1530 by means of a network interface device 1528.
In contrast to the system 1500 discussed above, a different embodiment uses logic circuitry instead of computer-executed instructions to implement processing entities. Depending upon the particular requirements of the application in the areas of speed, expense, tooling costs, and the like, this logic may be implemented by constructing an application-specific integrated circuit (ASIC) having thousands of tiny integrated transistors. Such an ASIC may be implemented with CMOS (complementary metal oxide semiconductor), TTL (transistor-transistor logic), VLSI (very large systems integration), or another suitable construction. Other alternatives include a digital signal processing chip (DSP), discrete circuitry (such as resistors, capacitors, diodes, inductors, and transistors), field programmable gate array (FPGA), programmable logic array (PLA), programmable logic device (PLD), and the like.
It is to be understood that embodiments may be used as or to support software programs or software modules executed upon some form of processing core (such as the CPU of a computer) or otherwise implemented or realized upon or within a machine or computer readable medium. A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine, e.g. a computer. For example, a machine readable medium includes read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals, for example, carrier waves, infrared signals, digital signals, etc.; or any other type of media suitable for storing or transmitting information.
Further, it is to be understood that embodiments may include performing computations with cloud computing. For the purposes of discussion herein, cloud computing may mean executing algorithms on any network that is accessible by internet-enabled devices, servers, or clients and that do not require complex hardware configurations, e.g. requiring cables, and complex software configurations, e.g. requiring a consultant to install. For example, embodiments may provide one or more cloud computing solutions that enable users, e.g. users on the go, to login to sSSO web applications using social network identity providers or share sSSO web applications anywhere on such internet-enabled devices, servers, or clients. It further should be appreciated that one or more cloud computing embodiments include allowing a user to login to sSSO web applications using social network identity providers or share sSSO web applications using mobile devices, tablets, and the like, as such devices are becoming standard consumer devices.
Although the invention is described herein with reference to the preferred embodiment, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. Accordingly, the invention should only be limited by the claims included below.
Cicchitto, Nelson A., Simmons, Anthony R. T.
Patent | Priority | Assignee | Title |
10432615, | Feb 24 2015 | AVATIER IP, LLC | Aggregator technology without usernames and passwords implemented in unified risk scoring |
10623397, | Feb 24 2015 | AVATIER IP, LLC | Aggregator technology without usernames and passwords |
10735404, | Feb 24 2015 | AVATIER IP, LLC | Aggregator technology without usernames and passwords implemented in a service store |
9979715, | Feb 24 2015 | AVATIER IP, LLC | Aggregator technology without usernames and passwords |
Patent | Priority | Assignee | Title |
7103666, | Jan 12 2001 | CERNER INNOVATION, INC | System and user interface supporting concurrent application operation and interoperability |
7346923, | Nov 21 2003 | International Business Machines Corporation | Federated identity management within a distributed portal server |
7536389, | Feb 22 2005 | R2 SOLUTIONS LLC | Techniques for crawling dynamic web content |
8073810, | Oct 29 2007 | Oracle International Corporation | Shared view of customers across business support systems (BSS) and a service delivery platform (SDP) |
8533773, | Nov 20 2009 | Oracle International Corporation | Methods and systems for implementing service level consolidated user information management |
8589338, | Jan 24 2008 | Oracle International Corporation | Service-oriented architecture (SOA) management of data repository |
20030163738, | |||
20050238159, | |||
20090017847, | |||
20090292814, | |||
20130263021, | |||
20130290475, | |||
20130314208, | |||
20150127678, | |||
20160173500, | |||
EP1089516, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 24 2016 | Avatier Corporation | (assignment on the face of the patent) | / | |||
Feb 25 2016 | CICCHITTO, NELSON A | Avatier Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037851 | /0192 | |
Feb 25 2016 | SIMMONS, ANTHONY R T | Avatier Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037851 | /0192 | |
Feb 11 2025 | Avatier Corporation | AVATIER IP, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 070184 | /0820 |
Date | Maintenance Fee Events |
Sep 24 2020 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Dec 05 2024 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Date | Maintenance Schedule |
Jun 20 2020 | 4 years fee payment window open |
Dec 20 2020 | 6 months grace period start (w surcharge) |
Jun 20 2021 | patent expiry (for year 4) |
Jun 20 2023 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 20 2024 | 8 years fee payment window open |
Dec 20 2024 | 6 months grace period start (w surcharge) |
Jun 20 2025 | patent expiry (for year 8) |
Jun 20 2027 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 20 2028 | 12 years fee payment window open |
Dec 20 2028 | 6 months grace period start (w surcharge) |
Jun 20 2029 | patent expiry (for year 12) |
Jun 20 2031 | 2 years to revive unintentionally abandoned end. (for year 12) |