Systems and methods for providing scalable per-client private application access directories
Systems and methods implemented via a broker in a cloud-based system include steps of, responsive to a user and associated user device executing a client connector being authenticated, receiving a notification from the client connector; determining private applications accessible by the user based on policy, wherein the private applications are located in one of a public cloud, a private cloud, and an enterprise network; and sending a Top-Level Domain+1 (TLD+1) list of the accessible private applications to the user device, wherein the TLD+1 includes a TLD and a domain name.
1. A method implemented at a broker in a cloud-based system, the method comprising:
responsive to a user and associated user device executing a client connector being authenticated, receiving, at the broker, a notification from the client connector;
determining private applications accessible by the user based on policy, wherein the private applications are located in one of a public cloud, a private cloud, and an enterprise network;
sending a Top-Level Domain+1 (TLD+1) list of the accessible private applications associated with the determined private applications accessible by the user to the client connector executing on the user device, wherein the TLD+1 list includes a list of TLDs and domain names accessible by the user;
receiving updates for the private applications for the user, based on a user-specific change;
dynamically determining a new TLD+1 list based on the updates;
sending the new TLD+1 list to the client connector; and
causing the client connector to clear a local cache responsive to receiving the new TLD+1 list.
2. The method of claim 1 , further comprising
receiving a Fully Qualified Domain Name (FQDN) from the user device for a private application; and
checking via a DNS check request sent to the broker if the FQDN is a qualified private application.
3. The method of claim 2 , wherein the checking utilizes a hash table to check the FQDN against the TLD+1, the hash table is updated dynamically responsive to a policy change.
4. The method of claim 2 , further comprising
providing the client connector a response when the FQDN is the qualified private application.
5. The method of claim 2 , further comprising
receiving a request to access the qualified private application; and
stitching together connections between the user device and the broker and between the broker and an app connector connected to the qualified private application.
6. The method of claim 1 , further comprising
responsive to a reconnect or network change, resending the Top-Level Domain+1 (TLD+1) list to the client connector.
7. A non-transitory computer-readable storage medium having computer readable code stored thereon for programming at least one processor at a broker to perform steps of:
responsive to a user and associated user device executing a client connector being authenticated, receiving, at the broker, a notification from the client connector;
determining private applications accessible by the user based on policy, wherein the private applications are located in one of a public cloud, a private cloud, and an enterprise network;
sending a Top-Level Domain+1 (TLD+1) list of the accessible private applications associated with the determined private applications accessible by the user to the client connector executing on the user device, wherein the TLD+1 list includes a list of TLDs and domain names accessible by the user;
receiving updates for the private applications for the user, based on a user-specific change;
dynamically determining a new TLD+1 list based on the updates;
sending the new TLD+1 list to the client connector; and
causing the client connector to clear a local cache responsive to receiving the new TLD+1 list.
8. The non-transitory computer-readable storage medium of claim 7 , wherein the steps further include
receiving a Fully Qualified Domain Name (FQDN) from the user device for a private application; and
checking if the FQDN is a qualified private application.
9. The non-transitory computer-readable storage medium of claim 8 , wherein the checking utilizes a hash table to check the FQDN against the TLD+1.
10. The non-transitory computer-readable storage medium of claim 8 , wherein the steps further include
providing the client connector a response when the FQDN is the qualified private application.
11. The non-transitory computer-readable storage medium of claim 8 , wherein the steps further include
receiving a request to access the qualified private application; and
stitching together connections between the user device and the broker and between the broker and an app connector connected to the qualified private application.
12. The non-transitory computer-readable storage medium of claim 7 , wherein the steps further include
responsive to a reconnect or network change, resending the Top-Level Domain+1 (TLD+1) list to the client connector.
13. A broker device in a cloud-based system comprising:
one or more processors and memory storing instructions that, when executed, cause the one or more processors to
responsive to a user and associated user device executing a client connector being authenticated, receive, at the broker device, a notification from the client connector;
determine private applications accessible by the user based on policy, wherein the private applications are located in one of a public cloud, a private cloud, and an enterprise network;
send a Top-Level Domain+1 (TLD+1) list of the accessible private applications associated with the determined private applications accessible by the user to the client connector executing on the user device, wherein the TLD+1 list includes a list of TLDs and domain names accessible by the user;
receiving updates for the private applications for the user, based on a user-specific change;
dynamically determining a new TLD+1 list based on the updates;
sending the new TLD+1 list to the client connector; and
causing the client connector to clear a local cache responsive to receiving the new TLD+1 list.
14. The broker device of claim 13 , wherein the instructions that, when executed, cause the one or more processors to
receive a Fully Qualified Domain Name (FQDN) from the user device for a private application; and
check if the FQDN is a qualified private application.
15. The broker device of claim 14 , wherein the checking utilizes a hash table to check the FQDN against the TLD+1.
16. The broker device of claim 14 , wherein the instructions that, when executed, cause the one or more processors to
providing the client connector a response when the FQDN is the qualified private application.
17. The broker device of claim 14 , wherein the instructions that, when executed, cause the one or more processors to
receiving a request to access the qualified private application; and
stitching together connections between the user device and the broker device and between the broker device and an app connector connected to the qualified private application.