blueprint: do not send DeviceConfigured when there are no user configured blueprints (#586)

Instead of defaulting to sending a DeviceConfigured command on all enrollments, only do that if the user has configured a blueprint.
Not sending DeviceConfigured by default will allow a workflow service to make decisions about enrollment.
This commit is contained in:
Victor Vrantchan
2019-05-03 11:21:52 -04:00
committed by GitHub
parent 1988c308e9
commit 438fdfa990
2 changed files with 31 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
# Do not send DeviceConfigured when there are no user configured blueprints.
## Context
DEP enrolled devices use an `AwaitDeviceConfigured` mode, which can be optionally enabled in a DEP profile. If enabled, the device will wait at the Remote Management screen, and not proceed until the MDM issues a `DeviceConfigured` command.
MicroMDM introduced the concept of a `Blueprint`, which an administrator can configure to apply `InstallProfile` and `InstallApplication` payloads. At the end of the list of pre-configured commands the MDM would default to sending the `DeviceConfigured` command.
It would be useful to allow a separate service to make a decision about whether it is ok to proceed with device provisioning past enrollment.
## Decision
When there are no blueprints configured, the MicroMDM server will not send _any_ commands to the device.
That means, if `AwaitDeviceConfigured` is enabled on the device, upon enrollment the device will remain at the Remote Management screen until an API request queues the DeviceConfigured command.
## Status
Accepted