Users often have many accounts that they create for various web services. These can be banking, e-commerce, health, enterprise business related, and a myriad of other available services. When the user wants to register a mobile application with these web services, they need to log into their accounts on the app, often using a username and password. This can be frustrating because many times the user does not know their password for a service or it is far too complex to memorize. They may have created it a long time ago and do not have a password manager to auto-fill it for them on their mobile device. Additionally, many mobile apps, such as those for banking and finance, do not support auto-fill passwords for security reasons. The user must resort to other means to register their mobile app, such as typing in the password from a desktop password manager, or copying and pasting from a mobile app password manager.
Registering accounts directly on mobile apps can be a cumbersome experience. You often have to fill out information about yourself, such as your name and email and you must choose a password to secure the account. Often a user account is created first on a website and the user must log into that account on the mobile app using an email or username and a password or other secret registration code. In other instances a password or registration code is generated during the initial web-based registration and delivered to the user by email or SMS, which the user then uses to complete the mobile app registration. Many times this is a single use password that is cumbersome to type and the user is required to immediately create a new password after initial registration.
In addition to having to register the mobile app, the user must find the app on the appropriate app store and download it prior to registration. Having to search for the mobile app in the store adds another step for the user. Combining all of the needed steps to onboard a new customer to a mobile application associated with a web service can result in user frustration, disengagement, and ultimately a potentially lost customer for the service provider.
In several of the presented registration scenarios, a password can be used to register a mobile application with a web service. In many of these instances, including those with previously existing user accounts, knowledge of the email and password are all a bad actor needs to maliciously register a mobile application with an account. This presents a security risk to the user and the service provider, as anyone with possession of the email or username and password may register a mobile application with the service provider, and account information of the user may be compromised without an awareness by either party.
Exemplary embodiments described herein include a system and method that allows for a much simpler user onboarding experience when registering a new mobile application with a service provider. Exemplary embodiments may permit application registration without usernames or passwords manually entered into the mobile application by the user for registration. Exemplary embodiments may permit the retrieval of a desired application without searching and downloading the application from an application store. Exemplary embodiments may also provide a layer of security by eliminating or reducing the use of long-lived passwords as a means for associating a mobile application with an existing service provider account.
Exemplary embodiments include first creating a user account by a user or an administrator on a web portal attached to a service provider. During this registration process, user information may be added to the user account. User information can include an email address, a mobile number, or other communication identification, but may include any combination of pieces of user information. When the account is initially created, a mobile app registration message may be sent to the user via email, SMS, or other entered communication identification method. This message may contain a short-lived registration code. The registration code may consist of any sequence and length of numbers, letters, characters, and combinations thereof sufficient to make the code significantly difficult to guess. The registration message may be embedded in a button, such as might be found in an email, or a web link that can be selected by the user.
Exemplary embodiments include receiving the mobile app registration message at a mobile device of the user intended to receive the mobile application associated with the web portal or service provider. When the user receives the registration message, the user may click on the registration button in an email or web link in an SMS message or otherwise activate the message link.
Exemplary embodiments may include initiating a service after activating the button or web link that checks the device to see if the mobile application needed to register the user is already installed. If the needed application is not installed, the service automatically takes the user to the appropriate application store page, such as the Apple App Store or Google Play Store, for the needed application. Once directed to the application store page, the user can click the install button for that application to install it. After installing the application, the user opens the application. Upon opening the application, a service in the app determines that the registration process initiated before an app was installed is to be continued. The service returns the dynamic link to the application for further use. The application then uses the registration code in the link to register the user with the service provider. This may also include the use of an email address, username, or other identifier in addition to the registration code. In the situation where the app was previously installed, the dynamic link service could return the dynamic link to the installed application for continuing the registration process without the need to install the app first.
In an exemplary embodiment, in addition to sending the registration message during initial user creation at the service provider, the auto-registration message may also be sent at a later time as determined by the user or the administrator. In the event of a user needing to recover an account from a lost device, deleted application or other factor which compromises a user account, a new registration code may be created and sent to the user to auto-register a new account with the application.
In one embodiment, the service provider may incorporate additional identity requirements to handle the registration and identities of the users of their service. This may include the application needed to register the users with the service provider's service and gain access to the service provider's services. In another embodiment, the additional identity requirements may be integrated into the program or may be outsourced to third party applications.
Exemplary embodiments may be used to simplify an onboarding process of a user to register a mobile application on a mobile device associated with an on-line account or service provider while eliminating the need for a user to enter a username or password to register the mobile application with the service.
In the following description of preferred embodiments, reference is made to the accompanying drawings which form a part hereof, and in which it is shown by way of illustration specific embodiments in which the invention can be practiced. It is to be understood that other embodiments can be used and structural changes can be made without departing from the scope of the embodiments of this invention.
Exemplary embodiments of the system and method described herein may be configured to handle multiple accounts running from the same authentication server. Typically an account is owned by a business or enterprise who has control of user's access and of authorization of applications and web resources to which the user has access. The registration can be either user or account holder initiated. An example of a user initiated registration is when a user goes to an e-commerce site that is using system and methods described herein. When the user decides to set up an account for future purchases, the user would enter, at a minimum, their name and email address. They may also enter other information such as a phone number, address, and credit card information. This latter information, except for the phone number, can remain with the account holder or the account holder payment service. The only information needed to preform embodiments described herein include the name and unique email address, except when the user desires to be registered by SMS instead of by email. Once the user has provided the required information, they are sent an email, SMS, or other communication link. The user opens the email, SMS, or communication link on their device and selects “register.” If the user does not have the appropriate application available on their device, the device is controlled (either automatically or manually) to go to the appropriate app store and download the app. The user just has to click “download.” The app will download and a registration code will be automatically registered. If the user already has the application setup in use for another account, a new account may be created and set up within the application.
Exemplary embodiments include no usernames or passwords needed to manually enter into the mobile application for registration. Exemplary embodiments also do not use user requirement to search for the needed application in the application store. This method also provides a layer of security by eliminating a long-lived password as a means for associating a mobile application with an existing service provider account.
Exemplary embodiments described herein include a system and method that allows for a much simpler user onboarding experience when registering a new mobile application with a service provider. Exemplary embodiments may permit application registration without usernames or passwords manually entered into the mobile application by the user for registration. Exemplary embodiments may permit the retrieval of a desired application without searching and downloading the application from an application store. Exemplary embodiments may also provide a layer of security by eliminating or reducing the use of long-lived passwords as a means for associating a mobile application with an existing service provider account.
An exemplary embodiment includes a method for registering a software application, including creating a dynamic link, sending the dynamic link to a user to be accessed by the user from a mobile device, and automatically registering an application access by the dynamic link when the dynamic link is activated by a user. The exemplary embodiment may include any combination of additional features or steps, including, without limitation, creating a user account associated with a service provider through a website interface, and the application is a mobile application from the service provider, linking the user account to the mobile application during the automatic registration process, automatically determining whether the application is installed on the mobile device, or automatically navigating the mobile device to a user interface for downloading the application if the application is not installed on the mobile device. The dynamic link may be sent to the user after a user enters registration information through a user interface of a web browser communicating with a server associated with a service provider. The dynamic link may be configured to authenticate the application with the server without the need to receive a user entered credential including a password. Alternatively, or in addition thereto, the dynamic link may include a deep link associated with an application configured to be stored and run on the mobile device of the user, and/or the dynamic link may include a registration code unique to the user. The registration code may be configured to be used with the application for automatically registering the application to the user. The deep link may provide additional user information for authentication to the application and/or server of the service provider.
Exemplary embodiments include at step 110 first creating a user account. The user account may be created by a user or an administrator on a web portal attached to a service provider. During this registration process, user information may be added to the user account. User information can include an email address, a mobile number, or other communication identification, but may include any combination of pieces of user information.
Exemplary embodiments include at step 111 providing a registration code for the user and embedding the registration code within a dynamic link. The registration code may be any code that uniquely identifies the user. The registration code may be used to identify the user as the user of the created user account from step 110, when the user is trying to associate another remote application to their account. Conventional systems may provide information to the user and/or may require the user to reenter information into the mobile application or other remote software interface to re-identifying or authenticating the user. However, such duplicative steps are cumbersome and frustrating for a new user. Exemplary embodiments described herein, integrate the registration code and/or any desired information for relating to the remote software application within a dynamic link. The registration code may be any unique identifier associated with the user. In an exemplary embodiment, the registration code is a temporary or short lived code associated with the user. The registration code may consist of any sequence and length of numbers, letters, characters, and combinations thereof sufficient to make the code significantly difficult to guess.
When the account is initially created or at some time thereafter, a mobile application registration message may be sent to the user at step 112. The mobile application registration message may be sent to the user via email, SMS, or other entered communication identification method. This message may contain the dynamic link including the registration code. The dynamic link may be embedded in a button, such as might be found in an email, or a web link that can be selected by the user.
Exemplary embodiments include the user receiving the mobile app registration message at a mobile device of the user intended to receive the mobile application associated with the web portal or service provider. When the user receives the registration message, the user may click on the registration button in an email or web link in an SMS message or otherwise activate the message link. Exemplary embodiments may include initiating a service after activating the button or web link that checks the device to see if the mobile application needed to register the user is already installed. If the needed application is not installed, the service automatically takes the user to the appropriate application store page, such as the Apple App Store or Google Play Store, for the needed application. Once directed to the application store page, the user can click the install button for that application to install it. After installing the application, the user opens the application.
At some point, whether during the initiation of the dynamic link or at some prior time, an application is provided to the user at step 117. The application is stored on memory of an electronic device of the user, and when executed by the processor of the electronic device is configured to perform the application functions desired by the service provider. The mobile application is also configured to automatically register the user of the user account created at step 110. Once the user selects the dynamic link, an associated application is launched. If the application was downloaded during or after the activation of the dynamic link, upon opening the application, a service in the app determines that the registration process initiated before an app was installed is to be continued. Once the application is opened, a service in the app receives the registration code embedded in the dynamic link at step 120. The application then uses the registration code in the link to register the user with the service provider at step 122. This may also include the use of an email address, username, or other identifier in addition to the registration code. In the situation where the app was previously installed, the dynamic link service could return the dynamic link to the installed application for continuing the registration process without the need to install the app first.
During registration, such as at step 122, the user may be prompted in the mobile application to choose an authentication method to access the mobile application functionality in the future. This may include a biometric, a PIN number, a knowledge factor, such as a password, or a photo sequence. It is understood that other authentication factors may also be involved in the registration process and this list is not intended to be exhaustive, but rather illustrative of various authentication methods. Any available authentication methods may be chosen to secure the app for future use after initial registration. The application may be configured to send the entered authentication method and/or associate authentication information to the service provider at step 124 and at step 125 the authentication information may be associated with the user and/or the user account created at step 110.
Authentication information 124 is sent from the service provider application 102 at step 124 to the service provider 100 and associated with the user account 121 at step 125.
The following is one example of how the registration information is passed to a user to register an application with a service provider without a username or password.
First, a mobile application is created and registered with a service provider to be associated with other needed information to perform the steps described herein.
Second, a deep link is created using a dynamic link service provider, such as Google Firebase. This will be used by the application to register the user.
https://activation. serviceprovider.com/?activationCode=$ {activCode} &emailAddress=$ {use rEmail}
Third, the deep link is inserted into a dynamic link. The dynamic link also contains information about the mobile application needed to register the user. The application information may be needed if the application is not installed on the user's device. This may contain information about mobile applications for multiple platforms, such as iOS and Android.
As an example, a dynamic link message embedded in an email button or SMS web link may have the form:
Following is a sample deep link used by the application to auto-register the user after the application is installed: https://activation.serviceprovider.com/?activationCode=173406649779&emailAddress=user@serviceprovider.com.
After the dynamic link is constructed, it may be passed to the user via an email, SMS, or other appropriate secure delivery method. For example, the link may be sent from one device directly to another via Bluetooth, NFC, WiFi, or any other device to device communication protocol known in the art of electronic communication. When the dynamic link is opened by the user, the Firebase or other service provider checks to see if the needed application is installed. If it is not, it takes the user to the appropriate application store page, such as the Apple App Store or Google Play Store, for the needed application. Once directed to the application store page, the user can click the install button for that application to install it. After installing the application, the user opens the application. Upon opening the application, the Firebase service or other service provider in the app determines that the deep link intended to be passed to the application prior to the application being installed may now be handled by the installed application. The Firebase or other service handles the dynamic link and returns the deep link to the application for further use. The application then uses the registration code in the deep link to register the user with the service provider. This may also include the use of an email address, username, or other identifier in addition to the registration code. In the situation where the app was previously installed, the dynamic link service could return the dynamic link to the installed application for continuing the registration process without the need to install the app first.
In one embodiment, if the registration code is verified by the service provider as being a valid registration code, the service provider may return a registration session identifier to the mobile application. The mobile application may use this registration session identifier to send other registration items to the service provider to be associated with the user account, such as authentication keys, cryptographic keys, and other device information for future authentications with the service provider. In another embodiment, all of the needed authentication information and device information is sent along with the registration code and associated with the user account of the service provider.
Exemplary embodiments include a method of authenticating a user. The method may include any combination of features, such as, for example, receiving a unique communication identifier for a user to be authenticated, sending a communication using the unique communication identifier to the user to a device of the user, receiving a confirmation by the user to authenticate the user, automatically downloading an authentication application to the device of the user to complete the authentication of the user, or providing a registration code to the authentication application to automatically register the user. The unique communication identifier may be an email address of the user, a mobile phone number of the user, a uniquely assigned identification, and combinations thereof. The confirmation may be performed by selecting an item from the communication, selecting a link within the communication, selecting an accept icon within the communication, or other method. The automatic download may occur after the user enters an acceptance to download the application. Exemplary embodiments may permit authentication and/or registration to occur without entering or receiving a user entered user name and/or password. Exemplary embodiments may be used to authenticate a user without having the user having to search for an authentication program to download onto the device by the user, but may automatically navigate to an appropriate authentication program and may automatically download or download after confirmation of intent to download the appropriate authentication program.
Exemplary embodiments of the system described herein can be based in software and/or hardware. While some specific embodiments of the invention have been shown the invention is not to be limited to these embodiments. For example, most functions performed by electronic hardware components may be duplicated by software emulation. Thus, a software program written to accomplish those same functions may emulate the functionality of the hardware components in input-output circuitry. The invention is to be understood as not limited by the specific embodiments described herein, but only by scope of the appended claims.
Exemplary embodiments of the system automate and integrate retrieval, downloading, registration, and combinations thereof of a mobile application on a mobile device with a service provider. The system provides improvements such as in the efficiency and reduced frustration and reduced error input for registering applications from a mobile device with a service provider thus improving efficiency and convenience. As shown, a user may communicate with a service provider, such as through the network to a server 1003 from a laptop 1001 or other computer 1002. The server may provide a web browser to send and receive information from the user. The web interface of the web browser may include registration or user information from the user. The system may be configured to retrieve the entered user information and store the information in one or more databases 1005. The system may then be configured to send an electronic message over the network to a mobile device 1004 of the user. The system may be configured to display a link to the user on the mobile device. The link may be through email, SMS, or other messaging system and may include any user interface such as an alphanumeric combination of characters, a button, or other icon to be launched by the user by clicking or touching the link.
When used in this specification and claims, the terms “comprises” and “comprising” and variations thereof mean that the specified features, steps or integers are included. The terms are not to be interpreted to exclude the presence of other features, steps or components.
Although embodiments of this invention have been described with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of embodiments of this invention as defined by the appended claims.
The instant application claims priority to U.S. Provisional Patent Application No. 62/801,574, filed Feb. 5, 2019, and U.S. Provisional Patent Application No. 62/718,959, filed Aug. 14, 2018, each of which are incorporated herein in their entirety.
Number | Date | Country | |
---|---|---|---|
62718959 | Aug 2018 | US | |
62801574 | Feb 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/US2019/046432 | Aug 2019 | US |
Child | 17177096 | US |