IP Library › Granted Patent US 10,742,632
Granted Patent B2
US 10,742,632 · App. 16/182,512 · Granted Aug 11, 2020

Passporting credentials between a mobile app and a web browser

Inventors: Igor Yefimov (Mountain View, CA); Scott Atwood (Campbell, CA)
Assignee: PayPal, Inc.
H04L63/08G06F21/41H04L9/3234H04L63/0807H04L63/0815H04L63/0853H04L67/00H04L67/02H04L67/146H04L67/42H04W4/00H04W12/06H04W12/0602H04L67/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,742,632
App. No.
16/182,512
Granted
Aug 11, 2020
Kind
B2
Abstract

Systems and methods for passporting credentials provide a mechanism by which a native app on a client device can invoke a service provider's core web site web addresses (URL) while keeping the existing session active and shared between the two experiences (native app and web flow) so that the end user does not need to re-login at each context switch. The mechanism can include a unique way for the web flow context to communicate conditions and pass control back to the native app context of the shared session.

Claims (69)

1. A system comprising:

a non-transitory memory; and

one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations comprising:

receiving, from a native application on a user device, a transaction request for performing a transaction for a user, wherein the transaction request comprises authentication credentials associated with the user for logging in to a user account with a service provider;

initiating a process workflow associated with the transaction for the user account based on the transaction request, wherein the process workflow requires interactions with the user via an application interface provided by the native application and a web interface provided by a web browser of the user device;

generating a session token for tracking a progress of the process workflow associated with the user account;

transmitting the session token to the native application on the user device;

determining the progress of the process workflow associated with the user account based on user interactions with the user via the application interface of the native application on the user device using the session token;

receiving, from a web browser of the user device, a web request to continue the process workflow for the user account;

determining that the web request comprises the session token;

in response to determining that the web request comprises the session token, presenting data on the web interface of the web browser on the user device to continue the process workflow associated with the user account based on the determined progress of the process workflow without requiring the user to provide the authentication credentials through the web browser, wherein the data presented on the web interface is obtained based at least in part on the user interactions with the user via the application interface.

2. The system of claim 1 , wherein the operations further comprise:

generating session data based on the user interactions with the application interface, wherein the data is obtained based on at least a portion of the session data.

3. The system of claim 1 , wherein the operations further comprise:

updating the progress of the process workflow based on user interactions with the user via the web interface;

receiving, from the native application on the user device, an indication for resuming the process workflow via the application interface; and

providing, on the application interface of the native application on the user device, second data based on the updated progress of the process workflow.

4. The system of claim 3 , wherein the session token is associated with an expiration time, and wherein the operations further comprise:

determining that the indication is received prior to the expiration time, wherein the second data is provided on the application interface in response to determining that the indication was received prior to the expiration time.

5. The system of claim 1 , wherein the session token is associated with an expiration time, and wherein the operations further comprise:

receiving, from the web browser on the user device, a second web request associated with the process workflow; and

in response to receiving the second web request, extending the expiration time associated with the session token.

6. The system of claim 1 , wherein the operations further comprise:

determining a first access policy for accessing resources associated with the user account via the native application of the user device; and

determining a second access policy for accessing the resources associated with the user account via the web browser of the user device, wherein the second set of access rights is different from the first set of access rights.

7. The system of claim 1 , wherein the web browser is embedded within the native application.

8. The system of claim 1 , wherein the authentication credentials are received by an application server of the system, and wherein the web request is received by a Common Gateway Interface (CGI) of the system.

9. A method comprising:

receiving, by an application server associated with a service provider and from a native application on a user device, a transaction request for performing a transaction for a user, wherein the transaction request comprises authentication credentials associated with the user for logging in to a user account with the service provider;

initiating a process workflow associated with the transaction for the user account based on the transaction request, wherein the process workflow requires interactions with the user via an application interface provided by the native application and a web interface provided by a web browser of the user device;

generating, by the application server, a session token for tracking a progress of the process workflow associated with the user account;

transmitting, by the application server, the session token to the native application on the user device;

determining the progress of the process workflow associated with the user account based on user interactions with the user via the application interface of the native application on the user device using the session token;

generating, by the application server, session data based on the user interactions;

receiving, by a web server associated with the service provider and from the web browser on the user device, a web request to continue the process workflow for the user account;

determining, by the web server, that the web request comprises the session token; and

in response to determining that the web request comprises the session token, presenting, by the web server on the web interface of the web browser, data based on the determined progress of the process workflow and at least a portion of the session data.

10. The method of claim 9 , wherein the data comprises a webpage of the service provider.

11. The method of claim 10 , further comprising:

detecting, by the web server, an interaction with the webpage presented on the web browser on the user device; and

refreshing the session token based on the detected interaction.

12. The method of claim 10 , wherein the webpage is associated with a sub-flow of the process workflow for performing the transaction for the user account.

13. The method of claim 9 , further comprising:

subsequent to presenting the data on the web interface of the web browser, receiving, by the application server, an application programming interface (API) call from the native application of the user device; and

resuming the process workflow via the application interface of the native application based on the API call.

14. The method of claim 13 , further comprising updating the progress of the process workflow based on user interactions with the user via the web interface of the web browser, wherein the resuming the process workflow is based on the updated progress.

15. A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:

receiving, from a native application of a user device, a transaction request for performing a transaction for a user, wherein the transaction request comprises authentication credentials;

verifying the authentication credentials to grant access to a user account with a service provider;

initiating a process workflow associated with the transaction for the user account based on the transaction request, wherein the process workflow requires interactions with the user via an application interface provided by the native application and a web interface provided by a web browser of the user device;

generating a session token for tracking a progress of the process workflow associated with the user account;

transmitting the session token to the native application of the user device;

determining the progress of the process workflow associated with the user account based on user interactions with the user via the application interface of the native application on the user device using the session token;

receiving, from the web browser of the user device, a web request to continue the process workflow for the user account;

determining that the web request comprises the session token; and

in response to determining that the web request comprises the session token, presenting data on the web interface of the web browser to continue the process workflow associated with the user account based on the determined progress of the process workflow, wherein the data is obtained based at least in part on the user interactions with the user via the application interface.

16. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise generating session data based on the user interactions with the user via the application interface, wherein the data presented on the web interface is obtained based on at least a portion of session data.

17. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

updating the progress of the process workflow based on user interactions with the user via the web interface;

receiving, from the native application of the user device, an indication for resuming the device session; and

providing, on the application interface of the native application, second data based on the updated progress of the process workflow.

18. The non-transitory machine-readable medium of claim 17 , wherein the session token is associated with an expiration time, and wherein the operations further comprise:

determining that the indication is received prior to the expiration time, wherein the second data is provided on the application interface in response to determining that the indication was received prior to the expiration time.

19. The non-transitory machine-readable medium of claim 15 , wherein the session token is associated with an expiration time, wherein the data presented on the web interface comprises a webpage, and wherein the operations further comprise:

detecting an interaction of the user with the webpage; and

in response to detecting the interaction with the webpage, extending the expiration time associated with the session token.

20. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

determining a first access policy for accessing resources associated with the user account via the native application of the user device; and

determining a second access policy for accessing the resources associated with the user account via the web browser of the user device, wherein the second set of access rights is different from the first set of access rights.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2018
From: YEFIMOV, IGOR; ATWOOD, SCOTT
To: EBAY INC.
Reel/Frame 047476/0945 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2018
From: EBAY INC.
To: PAYPAL, INC.
Reel/Frame 047476/0959 →
Continuity (5)
Continuation 15676779 · Aug 14, 2017
Continuation 15256204 · Sep 2, 2016
Continuation 14530329 · Oct 31, 2014
Continuation 13162842 · Jun 17, 2011
Related Publication 20190273730A1 · Sep 5, 2019
Cited By (1)
US 12,695,740