IP Library Granted Patent US 10,805,301
Granted Patent B2
US 10,805,301 · App. 15/796,951 · Granted Oct 13, 2020

Securely managing digital assistants that access third-party applications

Inventor: Saravanan Pitchaimani (Atlanta, GA)
Assignee: VMware, Inc.
H04L63/101H04L63/0815H04L63/102H04W12/06H04W12/08
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,805,301
App. No.
15/796,951
Granted
Oct 13, 2020
Kind
B2
Abstract

Systems herein allow a digital assistant to make requests to applications, such as third-party applications, that access data in an enterprise mobility management (“EMM”) system. The digital assistant can link to a portal application and receive a token that identifies a user. A remote application on a user device can establish a session with the portal application as part of a single sign on (“SSO”). The session can identify the same user. The portal application can then link the digital assistant to the remote application. When the digital assistant makes a request to the portal application, a notification can be pushed to the remote application. The user can confirm the request, establishing an authorized session during which time the digital assistant can make additional requests to the portal application. The portal application can service the requests by accessing third-party applications available through the portal application and authorized for access by the SSO.

Claims (43)

1. A method for authorizing access from a digital assistant to a first application comprising:

receiving, at a backend server, a request to link the digital assistant to a portal application, executing on a user device, that provides access to applications, including the first application, as part of an enterprise mobility management (“EMM”) system;

storing, at the backend server, a linking token that is created, at least in part, by validating an identity of a user enrolled in the EMM system;

receiving an assertion from a remote application, the assertion identifying the same user as the linking token;

receiving an access request from the digital assistant;

notifying the remote application of the access request;

establishing an authenticated session that allows the digital assistant access to the first application for a predetermined period of time; and

receiving a revocation command at the backend server and invalidating the authenticated session prior to the predetermined period of time expiring, wherein the revocation command is sent by the remote application based on the user device leaving a geofenced area of the digital assistant.

2. The method of claim 1 , wherein the linking token is an OAuth token and the assertion is a Security Assertion Markup Language (“SAML”) assertion.

3. The method of claim 1 , further comprising performing single sign on (“SSO”) based on credentials from the remote application, wherein the assertion is received from the remote application during SSO.

4. The method of claim 1 , wherein the backend server stores information indicating which applications the digital assistant can access.

5. The method of claim 1 , wherein an identity server stores credentials used to access the applications as part of a single sign on (“SSO”), wherein the first application is a third-party application.

6. The method of claim 5 , wherein the authenticated session allows the backend server to send additional requests from the digital assistant to the applications without further input from the user during the predetermined period of time.

7. The method of claim 1 , wherein invalidating the authenticated session causes the backend server to deny a subsequent access request from the digital assistant.

8. A non-transitory, computer-readable medium containing instructions executed by at least one processor to perform stages for authorizing access from a digital assistant to a first application, the stages comprising:

receiving, at a backend server, a request to link the digital assistant to a portal application, executing on a user device, that provides access to applications including the first application as part of an enterprise mobility management (“EMM”) system;

storing, at the backend server, a linking token that is created, at least in part, by validating an identity of a user enrolled in the EMM system;

receiving an assertion from a remote application, the assertion identifying the same user as the linking token;

receiving an access request from the digital assistant;

notifying the remote application of the access request;

establishing an authenticated session that allows the digital assistant access to the first application for a predetermined period of time; and

receiving a revocation command at the backend server and invalidating the authenticated session prior to the predetermined period of time expiring, wherein the revocation command is sent by the remote application based on the user device leaving a geofenced area of the digital assistant.

9. The non-transitory, computer-readable medium of claim 8 , wherein the linking token is an OAuth token and the assertion is a Security Assertion Markup Language (“SAML”) assertion.

10. The non-transitory, computer-readable medium of claim 8 , the stages further comprising performing single sign on (“SSO”) based on credentials from the remote application, wherein the assertion is received from the remote application during SSO.

11. The non-transitory, computer-readable medium of claim 8 , wherein the backend server stores information indicating which applications the digital assistant can access.

12. The non-transitory, computer-readable medium of claim 8 , wherein an identity server stores credentials used to access the applications as part of a single sign on (“SSO”), wherein the first application is a third-party application.

13. The non-transitory, computer-readable medium of claim 12 , wherein the authenticated session allows the backend server to send additional requests from the digital assistant to the applications without further input from the user during the predetermined period of time.

14. The non-transitory, computer-readable medium of claim 8 , wherein invalidating the authenticated session causes the backend server to deny a subsequent access request from the digital assistant.

15. A system for authorizing access from a digital assistant to a first application, comprising:

a non-transitory, computer-readable medium containing instructions;

a processor that executes the instructions to perform stages comprising:

receiving, at a backend server, a request to link the digital assistant to a portal application, executing on a user device, that provides access to applications including the first application as part of an enterprise mobility management (“EMM”) system;

storing, at the backend server, a linking token that is created, at least in part, by validating an identity of a user enrolled in the EMM system;

receiving an assertion from a remote application, the assertion identifying the same user as the linking token;

receiving an access request from the digital assistant;

notifying the remote application of the access request;

establishing an authenticated session that allows the digital assistant access to the first application for a predetermined period of time; and

receiving a revocation command at the backend server and invalidating the authenticated session prior to the predetermined period of time expiring, wherein the revocation command is sent by the remote application based on the user device leaving a geofenced area of the digital assistant.

16. The system of claim 15 , wherein the linking token is an OAuth token and the assertion is a Security Assertion Markup Language (“SAML”) assertion.

17. The system of claim 15 , the stages further comprising performing single sign on (“SSO”) based on credentials from the remote application, wherein the assertion is received from the remote application during SSO.

18. The system of claim 15 , wherein the backend server stores information indicating which applications the digital assistant can access.

19. The system of claim 15 , wherein an identity server stores credentials used to access the applications as part of a single sign on (“SSO”), wherein the first application is a third-party application.

20. The system of claim 15 , wherein invalidating the authenticated session causes the backend server to deny a subsequent access request from the digital assistant.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2017
From: PITCHAIMANI, SARAVANAN
To: VMWARE INC.
Reel/Frame 043978/0618 →
Continuity (1)
Related Publication 20190132321A1 · May 2, 2019