Persistent mobile device enrollment
Embodiments of the disclosure are directed to a persistent enrollment of a device in a management system. Upon detection of a triggering event, detection of whether an activator application is installed is performed. Then, detection of whether an agent application is installed also performed. The agent application can then complete an enrollment of the device with a management system. Certain components of such a process can be bundled with the device operating system or as a system application.
1. A method for persistently enrolling a client device with a management system, comprising:
obtaining at the client device, by a loader service application installed on the client device, an installation status of an activator application configured to obtain an agent application, wherein the agent application is configured to enroll the client device with the management system;
providing the installation status of the activator application to a server external to the client device;
receiving, in response to providing the installation status to the registration server, the activator application for installation on the client device;
installing the activator application;
obtaining, by the activator application, the agent application; and
enrolling, by the agent application, the client device with the management system by accepting, at the client device, one or more administrator prompts on behalf of a user associated with the client device,
wherein the loader service is a component bundled, by an original equipment manufacturer (OEM), with the operating system installed on the device.
2. The method of claim 1 , wherein accepting the one or more administrator prompts is performed by the activator application, which is platform-signed with an OEM security key.
3. The method of claim 1 , wherein accepting the one or more administrator prompts is performed by the activator application based on an authentication credential obtained by the activator application from the management system.
4. The method of claim 3 , wherein the authentication credential is obtained based on a device identifier associated with the client device.
5. The method of claim 1 , wherein the agent application is obtained from a registration server external to the client device.
6. A non-transitory, computer-readable medium comprising instructions that, when executed by a processor of a client device, performs a method comprising:
obtaining at the client device, by a loader service application installed on the client device, an installation status of an activator application configured to obtain an agent application, wherein the agent application is configured to enroll the client device with a management system;
providing the installation status of the activator application to a server external to the client device;
receiving, in response to providing the installation status to the registration server, the activator application for installation on the client device;
installing the activator application;
obtaining, by the activator application, the agent application; and
enrolling, by the agent application, the client device with the management system by accepting, at the client device, one or more administrator prompts on behalf of a user associated with the client device,
wherein the loader service is a component bundled, by an original equipment manufacturer (OEM), with the operating system installed on the device.
7. The non-transitory, computer-readable medium of claim 6 , wherein accepting the one or more administrator prompts is performed by the activator application, which is platform-signed with an OEM security key.
8. The non-transitory, computer-readable medium of claim 6 , wherein accepting the one or more administrator prompts is performed by the activator application based on an authentication credential obtained by the activator application from the management system.
9. The non-transitory, computer-readable medium of claim 8 , wherein the authentication credential is obtained based on a device identifier associated with the client device.
10. The non-transitory, computer-readable medium of claim 6 , wherein the agent application is obtained from a registration server external to the client device.
11. A client device, comprising:
a memory storage storing program code; and
a processor coupled to the memory storage, wherein, upon execution, the program code causes the processor to:
obtain at the client device, by a loader service application installed on the client device, an installation status of an activator application configured to obtain an agent application, wherein the agent application configured to enroll the client device with a management system;
provide the installation status of the activator application to a server external to the client device;
receive, in response to providing the installation status to the registration server, the activator application for installation on the client device;
install the activator application;
obtain, by the activator application, the agent application; and
enroll, by the agent application, the client device with the management system by accepting, at the client device, one or more administrator prompts on behalf of a user associated with the client device,
wherein the loader service is a component bundled, by an original equipment manufacturer (OEM), with the operating system installed on the device.
12. The client device of claim 11 , wherein accepting the one or more administrator prompts is performed by the activator application, which is platform-signed with an OEM security key.
13. The client device of claim 11 , wherein accepting the one or more administrator prompts is performed by the activator application based on an authentication credential obtained by the activator application from the management system.
14. The client device of claim 13 , wherein the authentication credential is obtained based on a device identifier associated with the client device.
15. The client device of claim 11 , wherein the agent application is obtained from a registration server external to the client device.