IP Library Granted Patent US 9,686,255
Granted Patent B2
US 9,686,255 · App. 12/840,932 · Granted Jun 20, 2017

Systems and methods for an extensible authentication framework

Inventor: Pierre Rafiq (Sunnyvale, CA)
Assignee: Citrix Systems, Inc.
H04L63/08H04L63/205
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 9,686,255
App. No.
12/840,932
Granted
Jun 20, 2017
Kind
B2
Abstract

The present disclosure describes systems and methods of an authentication framework to implement varying authentication schemes in a configurable and extendable manner. This authentication framework provides a level of abstraction in which requirements for credential gathering and authentication workflow are independent from the agents or authentication implementation that does the credential gathering and authentication workflow. A higher level of abstraction and a more comprehensive authentication framework allows handling the associated authentication transactions of complex authentication schemes without requiring any specific understanding of their internals. For example, the requirements to gather certain credentials for a particular authentication scheme may be configured and maintained separately from the client-side authentication agent that gathers the credentials. The flexible, configurable and extendable authentication framework supports a wide variety of authentication scheme and supports third party, proprietary and customized authentication schemes.

Claims (32)

1. A method for providing credential gathering requirements to an agent executing on a client, to gather credentials from a user, the method comprising:

(a) receiving, by an agent executing on a client, a logon point configuration including credential gathering requirements from a device intermediary to the client and one or more servers, wherein the logon point configuration identifies an authentication flow type and the credential gathering requirements define a credential type and an input field type, the input field type defining a type of user interface element from which to obtain input to provide a credential corresponding to the credential type;

(b) detecting, by the agent, a request to access a logon point corresponding to the logon point configuration;

(c) implementing, by the agent, an authentication workflow process corresponding to the authentication flow type;

(d) displaying, by the agent via a user interface generated by the agent in accordance with the received credential gathering requirements, the type of user interface element corresponding to the input field type, the displayed type of user interface element to receive as input a credential from a user at the client, the credential identified by the credential type; and

(e) transmitting, by the agent independent of the user interface, to the device for authentication, the credential received from the user via the user interface element generated by the agent.

2. The method of claim 1 , wherein (a) further comprises receiving, by the agent, the credential gathering requirements identifying a label for the input field type.

3. The method of claim 2 , wherein (b) further comprises displaying, by the agent, the user interface element with the label identified by the credential gathering requirements.

4. The method of claim 1 , wherein (a) further comprises receiving, by the agent, the credential gathering requirements identifying a label type of a label for an input field corresponding to the input field type.

5. The method of claim 4 , wherein (b) further comprises displaying, by the agent, the label for the input field, the label having the label type identified by the credential gathering requirements.

6. The method of claim 1 , wherein (a) further comprises receiving, by the agent, the credential gathering requirements identifying one or more input constraints.

7. The method of claim 6 , wherein (b) further comprises restricting, by the agent, a user's input via the user interface element based on the one or more input constraints identified by the credential gathering requirements.

8. The method of claim 1 , wherein (b) further comprises displaying, by the agent, the user interface of one of a type or a form native to the client and not determined by the device transmitting the credential gathering requirements.

9. The method of claim 1 , further comprising identifying, by the credential gathering requirements, a credential type of one of a user name, password, pin or a certificate.

10. The method of claim 1 , wherein (a) further comprises receiving, by the agent, the logon point configuration identifying the authentication flow type comprising at least one of: multiple authentication schemes, cascading authentication schemes, or a second authentication scheme that conditionally may be executed after a first authentication scheme.

11. A system for providing credential gathering requirements to an agent executing on a client, to gather credentials from a user, comprising:

at least one processor of the client; and

an agent executed on the at least one processor, the agent configured to:

receive a logon point configuration including credential gathering requirements from a device intermediary to the client and one or more servers, wherein the logon point configuration identifies an authentication flow type and the credential gathering requirements define a credential type and an input field type, the input field type defining a type of user interface element from which to obtain input to provide a credential corresponding to the credential type;

detect a request to access a logon point corresponding to the logon point configuration;

implement an authentication workflow process corresponding to the authentication flow type;

display, via a user interface generated in accordance with the received credential gathering requirements, the type of user interface element corresponding to the input field type, the displayed type of user interface element to receive as input a credential from a user at the client, the credential identified by the credential type; and

transmit, independent of the user interface, to the device for authentication, the credential received from the user via the user interface element.

12. The system of claim 11 , wherein the agent is further configured to receive the credential gathering requirements identifying a label for the input field type.

13. The system of claim 12 , wherein the agent is further configured to display the user interface element with the label identified by the credential gathering requirements.

14. The system of claim 11 , wherein the agent is further configured to receive the credential gathering requirements identifying a label type of a label for an input field corresponding to the input field type.

15. The system of claim 14 , wherein the agent is further configured to display the label for the input field, the label having the label type identified by the credential gathering requirements.

16. The system of claim 14 , wherein the agent is further configured to receive the credential gathering requirements identifying one or more input constraints.

17. The system of claim 16 , wherein the agent is further configured to restrict user input via the user interface element based on the one or more input constraints identified by the credential gathering requirements.

18. The system of claim 11 , wherein the agent is further configured to display the user interface of one of a type or a form native to the client and not determined by the device transmitting the credential gathering requirements.

19. The system of claim 11 , wherein the agent is further configured to identify the credential gathering requirements, a credential type of one of a user name, password, pin or a certificate.

20. The system of claim 11 , wherein the agent is further configured to receive the logon point configuration identifying the authentication flow type comprising at least one of: multiple authentication schemes, cascading authentication schemes, or a second authentication scheme that conditionally may be executed after a first authentication scheme.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2011
From: RAFIQ, PIERRE
To: CITRIX SYSTEMS, INC.
Reel/Frame 026590/0556 →
Continuity (1)
Related Publication 20120023558A1 · Jan 26, 2012